比較日期值

要檢查 Date 值的相等性:

var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1.valueOf() === date2.valueOf());

樣本輸出:false

請注意,必須使用 valueOf()getTime() 來比較 Date 物件的值,因為等於運算子將比較兩個物件引用是否相同。例如:

var date1 = new Date();
var date2 = new Date();
console.log(date1 === date2);

樣品輸出:false

而如果變數指向同一個物件:

var date1 = new Date();
var date2 = date1;
console.log(date1 === date2);

樣品輸出:true

但是,其他比較運算子將照常工作,你可以使用 <> 來比較一個日期早於或晚於另一個日期。例如:

var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1 < date2);

樣品輸出:true

即使運算子包含相等性,它也能工作:

var date1 = new Date();
var date2 = new Date(date1.valueOf());
console.log(date1 <= date2);

樣品輸出:true