怎样在js日期比较?
改成这样吧,安全点。不过我以前都直接比较了,没试过出错。不知你什么原因
var d1 = new Date("2007/4/2")// "2007-4-2".split(/\-/g, "\/")
var d2 = new Date("2007/4/19") //"2007-4-19".split(/\-/g, "\/")
var flag = true;
if(! (dl && d2))flag = false;//不是日期
if(flag &&
d1.getFullYear() > d2.getFullYear()){
flag = false;
}
if(flag &&
d1.getFullYear() == d2.getFullYear() &&
d1.getMonth() > d2.getMonth()){
flag = false;
}
if(flag &&
d1.getFullYear() == d2.getFullYear() &&
d1.getMonth() == d2.getMonth() &&
d1.getDate() > d2.getDate()){
flag = false;
}
if(!flag){
alert("wrong");
}
不明白document.job.endtime.value怎么替换上面的!
//"2007-4-19".replace(/\-/g, "\/") 搞错了
function datecompare(date1, date2){
var d1 = new Date(date1.replace(/\-/g, "\/"));
var d2 = new Date(date2.replace(/\-/g, "\/"));
var flag = true;
if(! (dl && d2))flag = false;//不是日期
if(flag &&
d1.getFullYear() > d2.getFullYear()){
flag = false;
}
if(flag &&
d1.getFullYear() == d2.getFullYear() &&
d1.getMonth() > d2.getMonth()){
flag = false;
}
if(flag &&
d1.getFullYear() == d2.getFullYear() &&
d1.getMonth() == d2.getMonth() &&
d1.getDate() > d2.getDate()){
flag = false;
}
return flag;
}
if(
!datecompare (
ThrowBlank(document.job.starttime.value), ThrowBlank(document.job.endtime.value)
)
){
alert("wrong");
}
执行出错!
function datecompare(date1, date2){
var d1 = new Date(date1.replace(/\-/g, "\/"));
var d2 = new Date(date2.replace(/\-/g, "\/"));
var flag = true;
if(d1 == "NaN" || d2 == "NaN")flag = false;//不是日期
if(flag &&
d1.getFullYear() > d2.getFullYear()){
flag = false;
}
if(flag &&
d1.getFullYear() == d2.getFullYear() &&
d1.getMonth() > d2.getMonth()){
flag = false;
}
if(flag &&
d1.getFullYear() == d2.getFullYear() &&
d1.getMonth() == d2.getMonth() &&
d1.getDate() > d2.getDate()){
flag = false;
}
return flag;
}