0

大家好,我正在使用以下脚本来比较用户使用 devexpress date 选择的日期

function compareDate(s, e) {
        var date1 = dateStartDate.GetDate();
        date1 = date1.format("dd/MM/yyyy"); 13/08/2013
        var date2 = dateEndDate.GetDate(); //28/07/2013
        if (date2 != null) {
            date2 = date2.format("dd/MM/yyyy");
            if (date2.toString() === date1.toString()) {
                e.IsValid = true;
            }
            else {
                if (date2 < date1) {
                    e.IsValid = false;
                }
                else {
                    e.IsValid = true;
                }
            }
        }
    }

但是当我有这两个日期13/08/2013并且28/07/2013这是返回真实时,有人可以帮助我吗

4

2 回答 2

0

您不是在比较日期,而是在按字典顺序比较字符串(逐个字符)。这两个日期的字符串表示形式是这样的:"13/08/2013" < "28/07/2013"因为"1" < "2"

您想要的是以相同的方式比较 Date 对象本身:

var a = new Date();
var b = new Date();
console.log(a < b); // true
console.log(a > b); // false
于 2013-08-13T07:26:23.057 回答
0

到目前为止,最简单的方法是从另一个日期中减去一个日期并比较结果。

var oDateOne = new Date();
var oDateTwo = new Date();

alert(oDateOne - oDateTwo === 0);
alert(oDateOne - oDateTwo < 0);
alert(oDateOne - oDateTwo > 0);

看到这个

于 2013-08-13T08:07:53.010 回答