我想比较两个日期字段..我已经非常接近了,它甚至可以正常工作..
但是当“ToDate”字段是一个
leap year>= "FromDate"
例如:
from date= 29/02/1996
to date= 29/02/1996
to date= 29/02/1992
to date= 29/02/1995
代码工作正常..
但是如果
from date= 29/03/1996
to date= 29/02/1996
代码失败...
这是我的代码
function isDate(value)
{
var fromDate = document.getElementById("fromDate").value
var toDate= document.getElementById("toDate").value
var dateRegEx = null;
dateRegEx = new RegExp(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g);
if (dateRegEx.test(fromDate)){
}
else{
alert("Invalid from date");
return false;
}
dateRegEx = new RegExp(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g);
if(dateRegEx.test(toDate)) {
}
else{
alert("Invalid to date");
return false;
}
var stDate = new Date(fromDate);
var enDate = new Date(toDate);
var compDate = enDate - stDate;
if(compDate > 0)
return true;
else
{
alert("Please Enter the correct date ");
return false;
}
/**/
}
如何使其适用于所有闰年...我必须在代码中的哪些地方进行更改。
最佳答案
这是一个优秀的 jQuery 插件,可以做你想做的事:http://momentjs.com/
关于javascript - 在闰年的情况下比较日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16481893/