比较日期值

要检查 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