我需要在JavaScript中增加一天的日期值。
例如,我有一个日期值2010-09-11,我需要将第二天的日期存储在一个JavaScript变量中。
如何将日期增加一天?
我需要在JavaScript中增加一天的日期值。
例如,我有一个日期值2010-09-11,我需要将第二天的日期存储在一个JavaScript变量中。
如何将日期增加一天?
当前回答
明天在纯JS的一行,但它是丑陋的!
new Date(new Date().setDate(new Date().getDate() + 1))
结果如下:
Thu Oct 12 2017 08:53:30 GMT+0200 (Romance Summer Time)
其他回答
通过原生JS,添加一天你可以做以下事情:
let date = new Date(); // today
date.setDate(date.getDate() + 1) // tomorrow
另一种选择是使用矩库:
const date = moment().add(14, "days").toDate()
最简单的方法是转换为毫秒,然后加上1000*60*60*24毫秒,例如:
var tomorrow = new Date(today.getTime()+1000*60*60*24);
结果是表示明天日期的字符串。使用new Date()获取今天的日期,使用Date. getdate()和Date. setdate()添加一天,并将Date对象转换为字符串。
const tomorrow = () => {
let t = new Date();
t.setDate(t.getDate() + 1);
return `${t.getFullYear()}-${String(t.getMonth() + 1).padStart(2, '0')}-${String(
t.getDate()
).padStart(2, '0')}`;
};
tomorrow();
明天在纯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,这将对你有很大帮助。