function datecheck(){
var dt1 = new Date();
dt1.setUTCFullYear("2017");
dt1.setUTCDate("1");
dt1.setUTCMonth("1");
alert(dt1.getUTCMonth());
}
この機能を実行すると、アラートとして0が表示されますが、setUTCMonth( "2")の場合は0になります。私は警戒して2を得ている。同様に3,4,5,6,7,8 ...が指定されている場合は、同じ月にそれが通知され、その後1月の問題は何かが通知されます。javacript january date issue
しかし、また、私は1が渡されたとき
function datecheck(){
var dt1 = new Date();
dt1.setUTCFullYear("2017");
dt1.setUTCMonth("1");
dt1.setUTCDate("1");
alert(dt1.getUTCMonth());
}
動作の変更ならば、それは0に警告を開始することを観察しました。私は何が起こっているのか全然混乱しています...
誰かが間違っていると私に教えてもらえますか?
ありがとうございます。
JavaScriptの月間は0〜11です。いいえ、それは理にかなっていません。いいえ、下位互換性が損なわれるため変更できません。はい、それは私たちをすべて夢中にさせます。 –
月(および日と年)も数字であり、文字列ではありません。なぜあなたは '' 1 ''と書いておけばいいのですか? –
@JaredSmith個人的に私は好きです - '['Jan'、 'Feb'、 'Mar' ....] [date.getUTCMonth()]'は素敵なトリックです:D –