我无法弄清楚如何在Google App Script中添加一天到某个日期。我有这个脚本:
function dateTest() {
var testDate = new Date();
var secondDate = new Date(testDate.getDate()+1);
Logger.log(testDate);
Logger.log(secondDate);
}
产生以下日志:
[16-11-30 16:35:02:499 GMT] 11月30日星期三16:35:02 GMT + 00:00 2016
[16-11-30 16:35:02:500 GMT] Thu Jan 01 01:00:00 GMT + 01:00 1970
我不明白为什么它没有添加到日期?
答案 0 :(得分:2)
你也可以说:
var tomorrow = new Date(Date.now() + 1000*60*60*24)
答案 1 :(得分:2)
将其更改为:
var testDate = new Date();
var secondDate = new Date();
secondDate.setDate(testDate.getDate()+1);
这应该让夏日时间变化和闰年保持良好状态。
答案 2 :(得分:0)
getDate()
获得该月的某一天。如果要将数字传递给new Date(value)
中的Date构造函数,它希望该数字是自Unix纪元以来的毫秒数,请参阅Date on MDN。因此,你将31毫秒(今天)添加到unix时代,因此日期是1970年1月1日,稍等。
要添加一天,请尝试:
var secondDate = new Date(testDate.getTime() + 24 * 60 * 60 * 1000);
这会将一天中的毫秒数添加到testDate
并从中创建一个新日期。
getTime()
获取自Unix时代以来以毫秒为单位的日期表示,因此通过在一天内添加ms的数量,您可以创建一个+1天的新日期。