比较javascript中的日期不能正常工作

时间:2013-08-13 07:15:55

标签: javascript asp.net

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

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/201328/07/2013时,如果有人帮助我,则返回true

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

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

See this