在Javascript中确定date平等

我需要找出用户select的两个date在Javascript中是否相同。 date传递给这个函数的string(“xx / xx / xxxx”),这就是我需要的所有粒度。

这是我的代码:

var valid = true; var d1 = new Date($('#datein').val()); var d2 = new Date($('#dateout').val()); alert(d1+"\n"+d2); if(d1 > d2) { alert("Your check out date must be after your check in date."); valid = false; } else if(d1 == d2) { alert("You cannot check out on the same day you check in."); valid = false; } 

将date转换为对象后的javascript警报如下所示:

2011年1月25日星期二00:00:00 GMT-0800(太平洋标准时间)

2011年1月25日星期二00:00:00 GMT-0800(太平洋标准时间)

确定date1是否大于date2的testing工作。 但是使用==或===运算符不会将有效更改为false。

使用getTime()方法。 它将检查date的数字值,它将适用于大于/小于检查以及等号检查。

编辑:

 if (d1.getTime() == d2.getTime()) 

如果你不想调用getTime()就试试这个:

(a >= b && a <= b)

 var d1 = new Date($('#datein').val()); var d2 = new Date($('#dateout').val()); 

使用两个简单的方法来检查平等

  1. if( d1.toString() === d2.toString())
  2. if( +d1 === +d2)