我需要在JavaScript中增加一天的日期值。

例如,我有一个日期值2010-09-11,我需要将第二天的日期存储在一个JavaScript变量中。

如何将日期增加一天?


当前回答

未来5天:

var date = new Date(),
d = date.getDate(),
m = date.getMonth(),
y = date.getFullYear();


for(i=0; i < 5; i++){
var curdate = new Date(y, m, d+i)
console.log(curdate)
}

其他回答

我觉得没有什么比. gettime()和. settime()更安全的了,所以这应该是最好的,而且性能也很好。

const d = new Date()
console.log(d.setTime(d.getTime() + 1000 * 60 * 60 * 24)) // MILLISECONDS

. setdate()用于无效的Date(如31 + 1)太危险了,这取决于浏览器的实现。

明天在纯JS的一行,但它是丑陋的!

new Date(new Date().setDate(new Date().getDate() + 1))

结果如下:

Thu Oct 12 2017 08:53:30 GMT+0200 (Romance Summer Time)

在遵循其他人的建议之前,你首先需要解析你的字符串:

var dateString = "2010-09-11";
var myDate = new Date(dateString);

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

如果你想让它恢复到相同的格式,你必须“手动”完成:

var y = myDate.getFullYear(),
    m = myDate.getMonth() + 1, // january is month 0 in javascript
    d = myDate.getDate();
var pad = function(val) { var str = val.toString(); return (str.length < 2) ? "0" + str : str};
dateString = [y, pad(m), pad(d)].join("-");

但我建议像其他回复中提到的那样获得Date.js,这将对你有很大帮助。

var myDate = new Date();

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

将当前日期的增量分配给其他变量

 let startDate=new Date();
 let endDate=new Date();    
 endDate.setDate(startDate.getDate() + 1)
 console.log(startDate,endDate)