统一格式,比如都转化为 hh:mm这格式,就好比较了,直接可以以字符窜的ASC码来比较大写

解决方案 »

  1.   

    <script language="JavaScript">
    <!--
    //时间对比函数,如果a>b返回1,如果a<b返回-1,相等返回0
    function comptime(a,b)
    {
    var dateA = new Date("1900/1/1 " + a);
    var dateB = new Date("1900/1/1 " + b);
    if(isNaN(dateA) || isNaN(dateB)) return null;
    if(dateA > dateB) return 1;
    if(dateA < dateB) return -1;
    return 0;
    }var timeStart = "3:20";
    var timeEnd = "2:11";if(comptime(timeStart,timeEnd) != -1)alert("开始时间必须小于结束时间!");
    //-->
    </script>
      

  2.   

    如果你不要求必用JS的话,用VBS实现逻辑上更清淅。<script language=vbs>
    function cmp(starttime,endtime)
    'starttime 和endtime分别是开始时间和结束时间字符串
    '若开始时间<结束时间则返回1,否则返回0;若格式不对,则返回-1
    if (isDate(starttime) and isDate(endtime))then
    startime=cdate(starttime)
    endtime=cdate(endtime)
    if (startime<endtime) then
                 cmp=1
             else
                 cmp=0
             end if
    else
    cmp=-1
    end if
    end function
    </script>
      

  3.   

    <script language="JavaScript">
    <!--
    function comptime(a,b)
    {
    var aParts = a.split(":");
    var aMinutes = aParts[0]*60+aParts[1];
    var bParts = b.split(":");
    var bMinutes = bParts[0]*60+bParts[1];
    return bMinutes-aMinutes;}var timeStart = "3:20";
    var timeEnd = "2:11";if(comptime(timeStart,timeEnd)<0)
    alert("开始时间必须小于结束时间!");
    //-->
    </script>