比较javascript中无法正常工作的日期
您好,我正在使用以下脚本比较用户使用devexpress date选择的日期比较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)
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:隐含的全局混乱在这里肯定是个问题。也许不是现在,但总有一天…;-)