Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较javascript中无法正常工作的日期_Javascript_Asp.net - Fatal编程技术网

比较javascript中无法正常工作的日期

比较javascript中无法正常工作的日期,javascript,asp.net,Javascript,Asp.net,您好,我正在使用以下脚本比较用户使用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)

您好,我正在使用以下脚本比较用户使用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;
                }
            }
        }
    }
比较的函数(s,e){
var date1=dateStartDate.GetDate();
date1=date1.格式(“dd/MM/yyyy”);2013年8月13日
var date2=dateEndDate.GetDate();//2013年7月28日
如果(日期2!=null){
date2=date2.格式(“dd/MM/yyyy”);
if(date2.toString()==date1.toString()){
e、 IsValid=true;
}
否则{
如果(日期2<日期1){
e、 IsValid=false;
}
否则{
e、 IsValid=true;
}
}
}
}

但是,当我有这两个日期时,
2013年8月13日
2013年7月28日
这是返回真的,有人能帮我吗

你不是在比较日期,而是在按字典顺序(逐字符)比较字符串。这两个日期的字符串表示顺序如下:
“13/08/2013”<“28/07/2013”
,因为
“1”<“2”

您需要的是以相同的方式比较日期对象本身:

var a = new Date();
var b = new Date();
console.log(a < b); // true
console.log(a > b); // false
var a=新日期();
var b=新日期();
console.log(ab);//假的

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

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

alert(oDateOne - oDateTwo === 0);
alert(oDateOne - oDateTwo < 0);
alert(oDateOne - oDateTwo > 0);
var-oDateOne=新日期();
var oDateTwo=新日期();
警报(oDateOne-oDateTwo==0);
警报(oDateOne-oDateTwo<0);
警报(oDateOne-oDateTwo>0);

你从哪里知道日期?它们不在函数的参数中。@NoLifeKing:隐含的全局混乱在这里肯定是个问题。也许不是现在,但总有一天…;-)