JavaScript如何获取明天的格式dd-mm-yy

我试图让JavaScript显示明天的格式(dd-mm-yyyy)

我有这个脚本显示今天的date格式(dd-mm-yyyy)

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) 

但是我怎样才能以相同的格式显示明天的date,即26/2/2012

我试过这个:

 var day = currentDate.getDate() + 1 

但是我可以保持+1并且超过31,显然在一个月内没有> 32天

一直在寻找小时,但似乎没有答案或解决这个问题?

这应该解决它真的很适合你。

如果你传递Date构造函数一次,它将完成剩下的工作。

24小时60分60秒1000毫秒

 var currentDate = new Date(new Date().getTime() + 24 * 60 * 60 * 1000); var day = currentDate.getDate() var month = currentDate.getMonth() + 1 var year = currentDate.getFullYear() document.write("<b>" + day + "/" + month + "/" + year + "</b>") 

有一件事要记住,这种方法将从现在开始的24小时后返回date,这在夏时制的时间可能是不准确的。

菲尔的回答工作随时:

 var currentDate = new Date(); currentDate.setDate(currentDate.getDate() + 1); 

我编辑我的post的原因是因为我自己创build了一个使用我的旧方法在DST期间发现的错误。

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.tomorrow() // 1 day next Date.daysNext(1) // alternative Date.tomorrow() Date.daysNext(2) // 2 days next. 

如果“明天”不是依赖于今天,而是另一个Date.now()不同date,不要使用静态方法,而是必须使用非静态方法:

即:2008年12月5日星期五

  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)} 

方法Date.prototype.setDate()接受标准范围之外的偶数参数,并相应地更改date。

 function getTomorrow() { const tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1); // even 32 is acceptable return `${tomorrow.getFullYear()}/${tomorrow.getMonth() + 1}/${tomorrow.getDate()}`; } 

方法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和本地date库,我更喜欢方法1.这个问题提到了这些和其他一些方法。

 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)); } 

它非常简单:

1:用今天的date和时间创builddate对象。 2:使用date对象方法检索日,月和全年,并使用+运算符连接它们。

有关date和时间的详细教程,请访问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); 

下面将罗德里克和菲尔的答案与两个额外的条件相结合,这两个条件就是个位数/天。

我所使用的许多API都是挑剔的,并且要求date有八位数字 (例如“02022017”),而不是date类别在某些情况下给出的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 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----------------------