2つの同一のJavaScriptDate
オブジェクトを作成して比較すると、同じではないように見えます。2つのJavaScriptの日付が同じ値であるかどうかをテストするにはどうすればよいですか?
var date1 = new Date('Mon Mar 11 2013 00:00:00');
var date2 = new Date('Mon Mar 11 2013 00:00:00');
console.log(date1 == date2); //false?
2つの同一のJavaScriptDate
オブジェクトを作成して比較すると、同じではないように見えます。2つのJavaScriptの日付が同じ値であるかどうかをテストするにはどうすればよいですか?
var date1 = new Date('Mon Mar 11 2013 00:00:00');
var date2 = new Date('Mon Mar 11 2013 00:00:00');
console.log(date1 == date2); //false?
これはすでに対処されているようです。
日付が等しいかどうかを確認するには、日付をプリミティブに変換する必要があります。
date1.getTime()=== date2.getTime()
//true
まず第一に、ここで参考文献を比較するという間違いを犯しています。これを見てください:
var x = {a:1};
var y = {a:1};
// Looks like the same example huh!
alert (x == y); // It says false
ここでは、オブジェクトは同じように見えますが、メモリ内に異なるスロットを保持しています。参照はオブジェクトのアドレスのみを格納します。したがって、両方の参照は異なります。
ここでは、参照比較が機能しないことがわかっているため、値を比較する必要があります。あなたはただすることができます
if (date1 - date2 == 0) {
// Yep! Dates are equal
} else {
// Handle different dates
}