我这有两个javascript函数,直接用就可以了,应该能解决你的问题了。
根据你的具体情况来确定选哪个。/*==================================================================*/
/* function isDateABigerThanB(a_Year, a_Month, a_Day,b_Year,b_Month,b_Day)
比较两个时间的大小
/*==================================================================*/function isDateABigerThanB(a_Year, a_Month, a_Day,b_Year,b_Month,b_Day)
{
var a_y, a_m, a_d, b_y, b_m, b_d;
a_y = new Number(a_Year.value);
a_m = new Number(a_Month.value);
a_d = new Number(a_Day.value);
b_y = new Number(b_Year.value);
b_m = new Number(b_Month.value);
b_d = new Number(b_Day.value);
if(a_y > b_y)
{
return true;
}
else if( a_y - b_y < 1 && a_y - b_y > -1 )
{
if(a_m > b_m)
{
return true;
}
else if( a_m - b_m < 1 && a_m - b_m > -1 )
{
if(a_d > b_d)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}/*==================================================================*/
/* function isDateABigThanB_other(adate,bdate)
比较两个时间的大小
/*==================================================================*/
function isDateABigThanB_other(adate,bdate)
{
var exp1 = adate.value;
var exp2=bdate.value;
var re = new RegExp("/|-");
var col1 = exp1.split(re);
var col2 = exp2.split(re);
var ma, da, ya;
var mb, db, yb;
ya=new Number(col1[0]);
ma=new Number(col1[1]);
da=new Number(col1[2]);
yb=new Number(col2[0]);
mb=new Number(col2[1]);
db=new Number(col2[2]); if (ya>yb){
return true;
}else
if (ya<yb){
return false;
}else
{
if (ma>mb){
return true;
}else
if (ma<mb){
return false;
}else
{
if (da>=db)
return true;
else
return false;
}
}
}
根据你的具体情况来确定选哪个。/*==================================================================*/
/* function isDateABigerThanB(a_Year, a_Month, a_Day,b_Year,b_Month,b_Day)
比较两个时间的大小
/*==================================================================*/function isDateABigerThanB(a_Year, a_Month, a_Day,b_Year,b_Month,b_Day)
{
var a_y, a_m, a_d, b_y, b_m, b_d;
a_y = new Number(a_Year.value);
a_m = new Number(a_Month.value);
a_d = new Number(a_Day.value);
b_y = new Number(b_Year.value);
b_m = new Number(b_Month.value);
b_d = new Number(b_Day.value);
if(a_y > b_y)
{
return true;
}
else if( a_y - b_y < 1 && a_y - b_y > -1 )
{
if(a_m > b_m)
{
return true;
}
else if( a_m - b_m < 1 && a_m - b_m > -1 )
{
if(a_d > b_d)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}/*==================================================================*/
/* function isDateABigThanB_other(adate,bdate)
比较两个时间的大小
/*==================================================================*/
function isDateABigThanB_other(adate,bdate)
{
var exp1 = adate.value;
var exp2=bdate.value;
var re = new RegExp("/|-");
var col1 = exp1.split(re);
var col2 = exp2.split(re);
var ma, da, ya;
var mb, db, yb;
ya=new Number(col1[0]);
ma=new Number(col1[1]);
da=new Number(col1[2]);
yb=new Number(col2[0]);
mb=new Number(col2[1]);
db=new Number(col2[2]); if (ya>yb){
return true;
}else
if (ya<yb){
return false;
}else
{
if (ma>mb){
return true;
}else
if (ma<mb){
return false;
}else
{
if (da>=db)
return true;
else
return false;
}
}
}
呀?谢谢了,老哥!
Date a=new Date(Str);str是你要判断的字符串格式为:XXXX/XX/XX
{
var Today=new Date(Str);
}
catch(exception)
{
window.alert("日期格式不合法");
}
var d1,d2;
d1=new Date(document.frmEventNew.AlertTime.value);
d2=new Date(document.frmEventNew.CompleteDate.value);
if (d1>d2)
{
alert("预警日期不能大于完成日期,请输入一个合法的时间!");
document.frmEventNew.AlertTime.focus ();
return ;
}
<Script>
try
{
var Today=new Date("1000000");
if(Today=="NaN")
throw Exception;
}
catch(Exception)
{
window.alert("日期格式不合法");
}
</Script>
/* function isDateNull(field)
判断input text 的是否是日期格式,
接受的格式为yyyy/mm/dd , yyyy-mm-dd. mm/dd/yyyy, mm-dd-yyyy.
return: true or false
/*==================================================================*/function isDate(field){
/* YYYY/MM/DD or MM/DD/YYYY */
var exp = trim(field.value);
var re = new RegExp("/|-");
var col = exp.split(re);
var i, m, d, y;
var charcode;
if(exp!="")
{
if(field.value.length<3) return false; //不合法的日期
switch(col[0].length){
case 4: //日期格式为 yyyy-mm-dd
for(i=0; i<4; i++){
charcode = col[0].charCodeAt(i);
if(charcode < 48 || charcode > 57)
return false;
}
y = new Number(col[0]); //年份
m = new Number(col[1]); //月份
d = new Number(col[2]); //日期
if(y <= 1900 || y >=3000){
alert("年份必须大于1900年,小于3000年!");
return false;
}
if(isNaN(m) || m > 12 || m < 1)
return false;
if(isNaN(d) || d > 31 || d <= 0)
return false;
if(col[1].length > 2 || col[2].length > 2 )
//日期格式必须为 yyyy-mm-dd
return false;
break;
case 1:
case 2: //日期格式为 mm-dd-yyyy
for(i=0; i<col[2].length; i++){
charcode = col[2].charCodeAt(i);
if(charcode < 48 || charcode > 57)
return false;
}
y = new Number(col[2]);
m = new Number(col[1]);
d = new Number(col[0]); if(y <= 1900 || y >=3000){
alert("年份必须大于1900年,小于3000年!");
return false;
}
if(isNaN(m) || m > 12 || m < 1)
return false;
if(isNaN(d) || d > 31 || d <= 0)
return false;
if(col[1].length>2||col[2].length>2)
return false;
break;
default:
return false;
}
/* check date integrety */
if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
{
if(d > 31 || d < 0){
return false;
}
}else if( m == 4 || m == 6 || m == 9 || m == 11 ){
if(d > 30 || d < 0){
return false;
}
}
else if( m == 2)
{
var bYear = false;
if(y % 4 == 0 && y % 100 !=0){
bYear = true;
}
else {
if(y % 400 == 0)
bYear = true;
else
bYear = false;
}
if(bYear)
{
if(d > 29)
return false;
}
else {
if(d > 28)
return false;
}
} else
{
return false;
}
return true;
}
}