确定 Javascript 中的日期相等性

我需要查明用户选择的两个日期在 Javascript 中是否相同。日期通过 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;
}

将日期转换为对象后的 javascript 警报如下:

Tue Jan 25201100:00:00 GMT-0800(Pacific Standard Time)2011年1月25日星期二00:00:00 GMT-0800(太平洋标准时间)

Tue Jan 25201100:00:00 GMT-0800(Pacific Standard Time)2011年1月25日星期二00:00:00 GMT-0800(太平洋标准时间)

确定日期1是否大于日期2的测试有效。但是使用 = = 或 = = = 操作符不会将有效更改为 false。

42763 次浏览

Use the getTime() method. It will check the numeric value of the date and it will work for both the greater than/less than checks as well as the equals checks.

EDIT:

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

If you don't want to call getTime() just try this:

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

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

use two simple ways to check equality

  1. if( d1.toString() === d2.toString())
  2. if( +d1 === +d2)
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