在 Javascript 中确定日期相等

问题描述 投票:0回答:5

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

javascript date equality
5个回答
178
投票

使用

getTime()
方法。它将检查日期的数值,并且适用于大于/小于检查以及等于检查。

编辑:

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

24
投票

如果您不想打电话

getTime()
,请尝试以下操作:

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


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

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

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

0
投票

您可以检查它们的差异是否为零,而不是直接比较日期。

if (d1 - d2 === 0)

-3
投票
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

© www.soinside.com 2019 - 2024. All rights reserved.