Google App脚本将一天添加到日期

时间:2016-11-30 16:39:26

标签: google-apps-script

我无法弄清楚如何在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

我不明白为什么它没有添加到日期?

3 个答案:

答案 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天的新日期。