大家一定遇到过这样的情况,有两个日期对象,然后需要判断他们是否相等。
例如:
var date1 = new Date("2013-11-29");
var date2 = new Date("2013-11-29");
console.log(date1 == date2); //false这里,date1和date2看上去是一样的,但是运行 date1 == date2 返回的却是false。这是因为date1、date2都是对象,类型为引用类型,所以如果需要比较他们,需要去比较他们的字面量值,而不是单纯的用 == 来比较。
如果想比较两个date是否相等,可以这么写
var date1 = new Date("2013-11-29");
var date2 = new Date("2013-11-29");
console.log(date1.getTime() == date2.getTime()); //true用getTime()方法,就可以返回日期对应的数值,然后比较就可以了。
其实,还有一种方法也可以比较日期。
var date1 = new Date("2013-11-29");
var date2 = new Date("2013-11-29");
console.log(date1 - date2 == 0); //true这里用date1减去date2,即可以得到它们之间的时间差,如果为0,那么肯定是相等的。
当然,还有很多其余的方法,如果有的话,可以在评论里留言,我补充进来。