2011-02-01 67 views

回答

29

你必须使用getDate()和的setDate()Date对象分别获取和设置日期的日值的方法。

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

Check the MDC Date object reference的更多信息,与日期

+4

如果遵守夏令时并且如果第二天时间向前/向后移动,则会中断。所以,正确的解决方案是date.setTime(date.getTime()+ 86400000); – venkatagiri 2012-10-25 12:46:24

+0

我还遇到了一个问题,如果日期是月底,它一直想要在一个月的某天过去。所以十二月将有32天。下面的Pablo解决方案是可行的。 – cbloss793 2014-12-19 22:16:46

6

试试这个:

//create the date 
var myDate = new Date(); 

//add a day to the date 
myDate.setDate(myDate.getDate() + 1); 
+0

将不会在该月的最后一天,这个休息时间吗?我正在使用类似的东西,它会在31日返回“32”的一天。 – Darren 2012-08-31 17:33:06

+0

@dkrape:不,它不会。 – 2012-08-31 21:09:52

2
dt = new Date(); 
dt.setDate(dt.getDate() + 1); 
38

这将让明天的日期工作:

var a = new Date((new Date()).valueOf() + 1000*3600*24); 
1

如果“加1天为”你的意思是“添加24小时“,即将24 * 60 * 60 * 1000毫秒添加到JavaScript日期对象,则正确的解决方案是:

var d = new Date(); 
d.setTime(d.getTime() + 86400000); 
console.log('24 hours later'); 
console.log(d); 

正如@venkatagiri在先前的评论中指出的那样,实际上这将在所有场景中为当前JavaScript日期对象增加24小时,而如果涉及夏令时间交叉,则d.setDate(d.getDate() + 1)不会。请参阅this JSFiddle以查看2013年DST开始的不同背景(2013年3月10日凌晨2:00,DST区域时间向前移动一小时)。 setDate()在这种情况下只增加了23小时,而setTime()增加了24

0
var d = new Date(); 

var curr_date = d.getDate(); 

var n =curr_date; 

jQuery(".class_name:eq(0)").text(n); 

var m =[d.getDate()+1]; 

jQuery(".class_name:eq(1)").text(m);