2013-09-04 10 views
48

私はdatePickerを使用して、日付をSun Jul 7 00:00:00 EDT 2013で示しています。 月に7月が表示されますが、getMonthを実行すると、前月。javascriptのgetMonthは先月のメッセージです

var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013"); 
d1.getMonth());//gives 6 instead of 7 

私は間違っていますか?

+7

ええと...ゼロインデックス付きです(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth)。 – Emissary

+1

6月7日0ベース –

+2

javascriptの日付であなたの心を失うことはありません。できる場合はMoment.jsを使用してください –

答えて

93

getmonth()は0から開始しています。希望するものを達成するには、d1.getMonth() + 1が必要です。

+48

私は、月インデックス番号をゼロにすることは、私がしばらく見てきたばかげたことです。 ' – LarryBud

+1

getDateが1-31を返した場合、なぜ誰かがそれを望むでしょうか? –

+2

おそらく 'd1.getMonth()<12? d1.getMonth()+ 1:1' - そうでなければ12月は13日でしょうか? – DanielKhan

8

getMonth()機能はインデックスに基づいてゼロです。あなたがする必要がありますd1.getMonth() + 1

最近私はMoment.jsライブラリを使用して戻って決して使ったことはありません。それを試してみてください!

関連する問題