我需要在JavaScript中将日期值增加一天。
例如,我的日期值为2019-09-11,我需要将第二天的日期存储在JavaScript变量中。
如何将日期增加一天?
为您提供三种选择:
Date
我以前对#1的回答是错误的(它增加了24小时,未能考虑到夏时制的过渡;CleverHuman指出,东部时区到2010年11月7日将失败)。相反,Jigar的答案是没有库即可执行此操作的正确方法:
var tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1);
甚至在一个月(或一年)的最后一天都可以使用,因为JavaScript日期对象对过渡很聪明:
var lastDayOf2015 = new Date(2015, 11, 31); snippet.log("Last day of 2015: " + lastDayOf2015.toISOString()); var nextDay = new Date(+lastDayOf2015); var dateValue = nextDay.getDate() + 1; snippet.log("Setting the 'date' part to " + dateValue); nextDay.setDate(dateValue); snippet.log("Resulting date: " + nextDay.toISOString()); <!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> <script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
(此答案当前已被接受,因此无法删除。在被接受之前,我向OP建议他们接受Jigar的答案,但也许他们在清单上的#2或#3接受了这个答案。)
var today = moment(); var tomorrow = moment(today).add(1, 'days');
(当心add修改了您调用它的实例,而不是返回一个新实例,所以today.add(1, 'days')modify 也是如此today。这就是我们从克隆op on开始的原因var tomorrow = ...。)
add
today.add(1, 'days')
today
var tomorrow = ...
var today = new Date(); // Or Date.today() var tomorrow = today.add(1).day();