2017-08-29 18 views
0

JavascriptでDateオブジェクトにエラーがあるようですが、2017年4月31日が実際の日だと考えています。私は今日(8月29日)から90日前に日付を取得しようとすることでこれを発見しました。以下は、コンテキスト用のコードのスニペットです。Javascript日付オブジェクトは4月31日に返されますか?

*編集:コンテキストの場合、これは技術的にGoogle Apps Scriptにあります。

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

hmm ..私はログをダブルチェックして、私は4-31-17を取得しています...もっとコードで投稿を更新しましょう – Alisa

答えて

1

getMonthはゼロベースです。したがって、以下のように使用する必要があります。

var dateStr = ninetyDaysAgo.getFullYear() + '-' + 
       (ninetyDaysAgo.getMonth() + 1) + '-' + 
       ninetyDaysAgo.getDate(); 
関連する問題