在Javascript中确定日期平等

时间:2011-01-03 18:16:28

标签: javascript date equality

我需要找出用户在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。

4 个答案:

答案 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());

使用两种简单的方法来检查相等性

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