JavaScript 比较日期值

示例

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