在JavaScript中增加日期
我需要在JavaScript中将日期值增加一天。
例如,我的日期值为2019-09-11,我需要将第二天的日期存储在JavaScript变量中。
如何将日期增加一天?
回答:
为您提供三种选择:
1.仅使用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接受了这个答案。)
2.使用MomentJS:
var today = moment();var tomorrow = moment(today).add(1, 'days');
(当心add
修改了您调用它的实例,而不是返回一个新实例,所以today.add(1, 'days')
modify
也是如此today
。这就是我们从克隆op on开始的原因var tomorrow = ...
。)
3.使用DateJS,但是很长一段时间没有更新:
var today = new Date(); // Or Date.today()var tomorrow = today.add(1).day();
以上是 在JavaScript中增加日期 的全部内容, 来源链接: utcz.com/qa/430097.html