如何使用JavaScript将日期添加到当前日期?JavaScript是否有像.NET的AddDay()那样的内置函数?
当前回答
我知道,但有时我喜欢这样:
function addDays(days) {
return new Date(Date.now() + 864e5 * days);
}
其他回答
您可以使用以下选项创建一个:-
Date.prototype.addDays=函数(天){var date=新日期(this.valueOf());date.setDate(date.getDate()+天);返回日期;}var date=新日期();console.log(date.addDays(5));
这会在必要时自动增加月份。例如:
8/31+1天将变为9/1。
直接使用setDate的问题是它是一个赋值函数,最好避免这种情况。ECMA认为将Date视为一个可变的类而不是一个不可变的结构是合适的。
var today = new Date();
var tomorrow = new Date();
tomorrow.setDate(today.getDate()+1);
小心,因为这可能很棘手。当设置明天时,它仅在当前值与今天的年份和月份匹配时有效。然而,通常将日期设置为“32”这样的数字仍然可以很好地将其移动到下一个月。
用javascript扩展原型可能不是一个好主意,尤其是在专业代码库中。
您要做的是扩展本机Date类:
类MyCustomDate扩展日期{addDays(天){const date=新的MyCustomDate(this.valueOf());date.setDate(date.getDate()+天);返回日期;}}const today=新的MyCustomDate();const nextWeek=today.addDays(7)console.log(下一周)
这样,如果有一天Javascript实现了一个原生的addDays方法,你就不会破坏任何东西。
在java脚本中添加日期的非常简单的代码。
var d=新日期();d.setDate(d.getDate()+提示('你想在这里添加多少天'));警报(d);
int days = 1;
var newDate = new Date(Date.now() + days * 24*60*60*1000);
代码笔
var天数=2;var newDate=新日期(Date.now()+天*24*60*60*1000);document.write(“今日:<em>”);document.write(new Date());document.write('</em><br/>新建:<strong>');document.write(newDate);