2017-08-29 61 views
0

Javascript中的Date對象似乎有錯誤,它認爲2017年4月31日是真實的一天。我從今天(8月29日)起,在90天前試圖找到這個日期。以下是我的上下文代碼片段:Javascript日期對象返回4月31日?

*編輯:對於上下文,這在技術上來自Google Apps腳本。

var now = new Date(); 
var ninetyDaysAgo = new Date(now.getTime() - 90 * 1000 * 60 * 60 * 24); 
var dateStr = ninetyDaysAgo.getFullYear() + '-' + 
       ninetyDaysAgo.getMonth() + '-' + 
       ninetyDaysAgo.getDate(); 
//If I print dateStr it's '2017-4-31' 

,因爲我需要正確的日期使用API​​這是非常重要的。這只是日期課上的一件事,還是我錯過了一些東西?

+1

5/31是5月31日?我想你可能會讓你的幾個月混在一起。 – axlj

+1

@axlj是的。 –

+0

嗯..我仔細檢查了我的日誌,我得到了4-31-17 ....讓我用更多的代碼更新帖子 – Alisa

回答

1

getMonth是從零開始的。所以你需要像下面這樣使用它:

var dateStr = ninetyDaysAgo.getFullYear() + '-' + 
       (ninetyDaysAgo.getMonth() + 1) + '-' + 
       ninetyDaysAgo.getDate();