两个文本框,TB_StartTime和TB_EndTime
我的代码:
if(document.all.TB_StartTime.value!="" && document.all.TB_EndTime.value!="")
{
var d1 = Date.parse(document.all.TB_StartTime.value);
var d2 = Date.parse(document.all.TB_EndTime.value);
    if(d1>d2)
{
alert("开始时间必须小于结束时间");
return false;
}
}
不过好像没用啊?
请各位帮忙看看。

解决方案 »

  1.   

    不是不行,要注意时间的格式<script>
    a=new Date("2004/12/2")
    b=new Date("2004/10/2")
    alert(a>b)
    </script>
      

  2.   

    试试
    if (d1.getTime() > d2.getTime())
    {
        ...
    }
      

  3.   

    Date.parse(dateVal)
    其中必选项 dateVal 是一个包含以诸如 "Jan 5, 1996 08:47:00" 的格式表示的日期的字符串,或者是一个从 ActiveX&reg; 对象或其他对象中获取的 VT_DATE 值。说明
    parse 方法返回一个整数值,这个整数表示 dateVal 中所包含的日期与 1970 年 1 月 1 日午夜之间相间隔的毫秒数。
      

  4.   

    所以应该写成
    if(d1<d2)
    {
    alert("开始时间必须小于结束时间");
    return false;
    }
      

  5.   

    给你一个函数,不过日期格式必须是“YYYY-MM-DD”
    第二个函数ValidateDateformat(dateString,CanNull)是用来验证数据输入是否为"YYYY-MM-DD"格式
    ,可以不要这一句。
    function CompareDate(dateString1,dateString2)
    {
       if(ValidateDateformat(dateString1,false)==false||ValidateDateformat(dateString2,false)==false)
       {
           return false;
       }
       else
       {
           var _year1 = parseInt(dateString1.substring(0,4))
           var _month1
           var _day1
           switch(dateString1.substring(7,5))
           {
              case "08":_month1=8;break;
              case "09":_month1=9;break;
              default:_month1=parseInt(dateString1.substring(7,5));break;
           }
           switch(dateString1.substring(10,8))
           {
              case "08":_day1=8;break;
              case "09":_day1=9;break;
              default:_day1=parseInt(dateString1.substring(10,8));break;
           }
           var date1= new Date(_month1 + '//' + _day1 + '//' + _year1)
           var _year2 = parseInt(dateString2.substring(0,4))
           var _month2
           var _day2
           switch(dateString2.substring(7,5))
           {
              case "08":_month2=8;break;
              case "09":_month2=9;break;
              default:_month2=parseInt(dateString2.substring(7,5));break;
           }
           switch(dateString2.substring(10,8))
           {
              case "08":_day2=8;break;
              case "09":_day2=9;break;
              default:_day2=parseInt(dateString2.substring(10,8));break;
           }
           var date2= new Date(_month2 + '//' + _day2 + '//' + _year2)
           return ((date1>date2)?true:false)
       } 
    }