Я пытаюсь заставить JavaScript отображать дату завтрашнего дня в формате (дд-мм-гггг)
У меня есть этот скрипт, который отображает сегодняшнюю дату в формате (дд-мм-гггг)
var currentDate = new Date()
var day = currentDate.getDate()
var month = currentDate.getMonth() + 1
var year = currentDate.getFullYear()
document.write("<b>" + day + "/" + month + "/" + year + "</b>")
Displays: 25/2/2012 (todays date of this post)
Но как мне заставить его отображать дату завтрашнего дня в том же формате, т.е. 26/2/2012
Я пробовал это:
var day = currentDate.getDate() + 1
Тем не менее, я мог оставить +1
и пройти более 31, очевидно, что в месяце не бывает> 32 дней.
Искал часами, но, похоже, нет ответа или решения по этому поводу?
источник
var currentDate = new Date(+new Date() + 86400000);
new Date().getTime()
можно упростить какDate.now()
Класс JavaScript
Date
делает это за васvar d = new Date("2012-02-29") console.log(d) // Wed Feb 29 2012 11:00:00 GMT+1100 (EST) d.setDate(d.getDate() + 1) console.log(d) // Thu Mar 01 2012 11:00:00 GMT+1100 (EST) console.log(d.getDate()) // 1
источник
Я бы использовал библиотеку DateJS. Он может делать именно это.
http://www.datejs.com/
Сделайте следующее:
var d = new Date.today().addDays(1).toString("dd-mm-yyyy");
Date.today()
- дает вам сегодня в полночь.источник
Метод Date.prototype.setDate () принимает даже аргументы вне стандартного диапазона и соответственно изменяет дату.
function getTomorrow() { const tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1); // even 32 is acceptable return `${tomorrow.getFullYear()}/${tomorrow.getMonth() + 1}/${tomorrow.getDate()}`; }
источник
В приведенном ниже примере используется комбинация ответов Родерика и Фила с двумя дополнительными условными выражениями, которые учитывают однозначные числа месяцев / дней.
Многие API-интерфейсы, с которыми я работал, придирчивы в этом отношении и требуют, чтобы даты состояли из восьми цифр (например, «02022017»), вместо 6 или 7 цифр, которые класс даты будет давать вам в некоторых ситуациях.
function nextDayDate() { // get today's date then add one var nextDay = new Date(); nextDay.setDate(nextDay.getDate() + 1); var month = nextDay.getMonth() + 1; var day = nextDay.getDate(); var year = nextDay.getFullYear(); if (month < 10) { month = "0" + month } if (day < 10) { day = "0" + day } return month + day + year; }
источник
Случаи использования :
Date.tomorrow() // 1 day next Date.daysNext(1) // alternative Date.tomorrow() Date.daysNext(2) // 2 days next.
ЕСЛИ «завтра» зависит не от сегодняшнего дня, а от другой даты, отличной от
Date.now()
, не используйте статические методы, а вы должны использовать нестатические:т.е.: пятница, 5 декабря 2008 г.
var dec5_2008=new Date(Date.parse('2008/12/05')); dec5_2008.tomorrow(); // 2008/12/06 dec5_2008.tomorrow().day // 6 dec5_2008.tomorrow().month // 12 dec5_2008.tomorrow().year //2008 dec5_2008.daysNext(1); // the same as previous dec5_2008.daysNext(7) // next week :)
API:
Dateold=Date;function Date(e){var t=null;if(e){t=new Dateold(e)}else{t=new Dateold}t.day=t.getDate();t.month=t.getMonth()+1;t.year=t.getFullYear();return t}Date.prototype.daysNext=function(e){if(!e){e=0}return new Date(this.getTime()+24*60*60*1e3*e)};Date.prototype.daysAgo=function(e){if(!e){e=0}return Date.daysNext(-1*e)};Date.prototype.tomorrow=function(){return this.daysNext(1)};Date.prototype.yesterday=function(){return this.daysAgo(1)};Date.tomorrow=function(){return Date.daysNext(1)};Date.yesterday=function(){return Date.daysAgo(1)};Date.daysNext=function(e){if(!e){e=0}return new Date((new Date).getTime()+24*60*60*1e3*e)};Date.daysAgo=function(e){if(!e){e=0}return Date.daysNext(-1*e)}
источник
Метод 1. Если у вас нет проблем с использованием другой библиотеки, то это может сработать для вас с использованием moment.js.
moment().add('days', 1).format('L');
Метод 2: используя Date.js,
<script type="text/javascript" src="date.js"></script> var tomorrow = new Date.today().addDays(1).toString("dd-mm-yyyy");
Этот метод использует внешнюю библиотеку, а не собственную библиотеку Date. Поскольку мой bootstrap-datetimepicker использовал moment.js и собственную библиотеку дат, я предпочел метод 1. В этом вопросе упоминаются эти и некоторые другие методы.
источник
Это действительно просто:
1: Создать объект даты с сегодняшней датой и временем. 2: Используйте методы объекта даты, чтобы получить день, месяц и полный год и объединить их с помощью оператора +.
Посетите http://www.thesstech.com/javascript/date-time JavaScript для получения подробного руководства по дате и времени.
Образец кода:
var my_date = new Date(); var tomorrow_date = (my_date .getDate()+1) + "-" + (my_date .getMonth()+1) + "-" + my_date .getFullYear(); document.write(tomorrow_date);
источник
Только с использованием JS (Pure js)
Cегодня
new Date() //Tue Oct 06 2020 12:34:29 GMT+0530 (India Standard Time) new Date(new Date().setHours(0, 0, 0, 0)) //Tue Oct 06 2020 00:00:00 GMT+0530 (India Standard Time) new Date(new Date().setHours(0, 0, 0,0)).toLocaleDateString('fr-CA') //"2020-10-06"
Завтра
new Date(+new Date() + 86400000); //Wed Oct 07 2020 12:44:02 GMT+0530 (India Standard Time) new Date(+new Date().setHours(0, 0, 0, 0) + 86400000); //Wed Oct 07 2020 00:00:00 GMT+0530 (India Standard Time) new Date(+new Date().setHours(0, 0, 0,0)+ 86400000).toLocaleDateString('fr-CA') //"2020-10-07" //don't forget the '+' before new Date()
Послезавтра
Просто умножьте на два, например: - 2 * 86400000
Вы можете найти все шорткоды локали на https://stackoverflow.com/a/3191729/7877099
источник
function getMonday(d) { // var day = d.getDay(); var day = @Config.WeekStartOn diff = d.getDate() - day + (day == 0 ? -6 : 0); return new Date(d.setDate(diff)); }
источник
То же, что и исходный ответ, но в одну строку:
var tomorrow = new Date(Date.now() + 24 * 60 * 60 * 1000)
Цифры равны 24 часам 60 минутам 60 секундам 1000 миллисекунд.
источник
вы можете попробовать это:
function Tomorrow(date=false) { var givendate = (date!=false) ? new Date(date) : new Date(); givendate.setDate(givendate.getDate() + 1); var day = givendate.getUTCDate() var month = givendate.getUTCMonth()+1 var year = givendate.getUTCFullYear() result ="<b>" + day + "/" + month + "/" + year + "</b>"; return result; } var day = Tomorrow('2020-06-30'); console.log('tomorrows1: '+Tomorrow('2020-06-30')); console.log('tomorrows2: '+Tomorrow());
источник
Date.prototype.NextDay = function (e) { return new Date(this.getFullYear(), this.getMonth(), this.getDate() + ("string" == typeof e ? parseInt(e, 10) : e)); } // tomorrow console.log(new Date().NextDay(1)) // day after tomorrow console.log(new Date().NextDay(2))
источник
//-----------Date Configuration march 18,2014---------------------- //alert(DateFilter); var date = new Date(); y = date.getFullYear(), m = date.getMonth(); var EndDate = new Date(); switch (DateFilter) { case 'today': var StartDate = EndDate; //todays date break; case 'yesterday': var d = new Date(); var previousDate = new Date(d.getTime() - 1000 * 60 * 60 * 24); var StartDate = new Date(previousDate.yyyymmdd()); //yesterday Date break; case 'tomorrow': var d = new Date(); var NextDate = new Date(d.getTime() + 1000 * 60 * 60 * 24); var StartDate = new Date(NextDate.yyyymmdd()); //tomorrow Date break; case 'thisweek': var StartDate = getMonday(new Date()); //1st date of this week break; case 'thismonth': var StartDate = new Date(y, m, 1); //1st date of this month break; case 'thisyear': var StartDate = new Date("01/01/" + date.getFullYear()); //1st date of this year break; case 'custom': //var StartDate = $("#txtFromDate").val(); break; default: var d = new Date(); var StartDate = new Date(d.getTime() - 30 * 24 * 60 * 60 * 1000); //one month ago date from now. } if (DateFilter != "custom") { var SDate = $.datepicker.formatDate('@Config.DateFormat', StartDate); $("#txtFromDate").val(SDate); var EDate = $.datepicker.formatDate('@Config.DateFormat', EndDate); $("#txtToDate").val(EDate); } //-----------Date Configuration march 18,2014----------------------
источник
var curDate = new Date().toLocaleString().split(',')[0];
Просто! в формате дд.мм.гггг.
источник