2016-11-30 26 views
0

我無法弄清楚如何在Google App腳本中添加一天到某個日期。我有這樣的腳本:Google App腳本在日期中添加一天

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]週四1月1 01:00:00 GMT + 01:00 1970年

我不明白爲什麼它不會增加日期?

回答

0

將其更改爲:

var testDate = new Date(); 
var secondDate = new Date(); 
secondDate.setDate(testDate.getDate()+1); 

這應保持一天好夏令時的變化和閏年爲好。

+0

謝謝,我喜歡這個答案的簡單性 –

0

getDate()得到月份的一天。如果您將一個數字傳遞給new Date(value)中的Date構造函數,它預計該數字是自Unix時期以來的毫秒數,請參閱Date on MDN。所以你要在unix時代添加31ms(今天),因此這個日期是1970年1月1日,稍微有點兒。

要添加1天嘗試:

var secondDate = new Date(testDate.getTime() + 24 * 60 * 60 * 1000); 

這增加了在一天之內毫秒testDate,並創建從一個新的日期。

getTime()從Unix時代開始獲取以毫秒爲單位的日期表示,因此通過在一天內向其添加ms數,您可以創建一個+1天的新日期。

+0

太好了,謝謝你的解釋。儘管如此,我更喜歡第二個答案。欣賞你的時間。 –

0

你也可以說:

var tomorrow = new Date(Date.now() + 1000*60*60*24) 
+0

這確實有用,但我更喜歡第二個答案。雖然欣賞了迴應! –