Javascript判断两个日期是否相等

大家一定遇到过这样的情况,有两个日期对象,然后需要判断他们是否相等。

例如:

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,那么肯定是相等的。

 

当然,还有很多其余的方法,如果有的话,可以在评论里留言,我补充进来。

 

转载本站文章请注明作者和出处 奇葩一朵朵 – http://www.cnblogs.com/season-huang/ ,请勿用于任何商业用途

 

posted @ 2013-09-08 21:17  哎呦大黄  阅读(6297)  评论(15编辑  收藏  举报