我需要找出用户在Javascript中选择的两个日期是否相同。日期以字符串(“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;
}
将日期转换为对象后的javascript警报如下所示:
2011年1月25日星期二00:00:00 GMT-0800(太平洋标准时间)
2011年1月25日星期二00:00:00 GMT-0800(太平洋标准时间)
确定日期1是否大于日期2的测试有效。但是使用==或===运算符不会将valid更改为false。
答案 0 :(得分:118)
使用getTime()
方法。它将检查日期的数值,它将适用于大于/小于检查以及等于检查。
编辑:
if (d1.getTime() === d2.getTime())
答案 1 :(得分:15)
如果您不想致电getTime()
,请尝试以下方法:
(a >= b && a <= b)
答案 2 :(得分:2)
var d1 = new Date($('#datein').val());
var d2 = new Date($('#dateout').val());
使用两种简单的方法来检查相等性
if( d1.toString() === d2.toString())
if( +d1 === +d2)
答案 3 :(得分:0)
var date = Wed Oct 07 2015 19:48:08 GMT+0200 (Central European Daylight Time);
var dateOne = new Date(date);
var dateTwo = new Date();
var isEqual = dateOne.getDate() === dateTwo.getDate()
this will give you the dates equality