なぜこれは正しく動作しないのですか?Javascriptの日付比較のバグ?
function test() {
var start = new Date(2012, 3, 31, 19, 0, 0); // 3/31/2012 7:00 PM
var end = new Date(2012, 4, 1, 1, 0, 0); // 4/01/2012 1:00 AM
if (end < start)
console.log("oops!");
else
console.log("works!");
}
出力:
おっと!
[JavaScript Date Object Comparison](http://stackoverflow.com/questions/7606798/javascript-date-object-comparison)の重複が可能です –
これはなぜバグですか?あなたが作成した日付が与えられてから実際にあなたの終わりが始まります。 3は4月で30日しかありませんが、日付を31に設定すると5月になります。月は0のインデックスを使用します。 – kinakuta
@AdrianIftode - いいえ、3は4月です - 月は0ベースです。 –