js

日期格式年-月-日 时:分:秒
var starD = new Date($('#StarDate').val());
    var EndD = new Date($('#EndDate').val());
    if (Date.parse(starD)-Date.parse(EndD)>0) {
        alert("优惠活动结束时间必须大于开始时间");
        //$('#EndDate').focus();
        return false;
    }
我这样写的 如果不符合要求就return false;但是不执行我的if,why

解决方案 »

  1.   

    var dt1 = "2010-05-06 8:00";
    var dt2 = "2010-05-06 15:00";
    var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})\s+(\d+):(\d+)$/;
    if(reg.test(dt1) && reg.test(dt2)){
        var d = dt1.match(reg);
        var date1 = new Date(d[1], d[2], d[3], d[4], d[5])
        d = dt2.match(reg);
        var date2 = new Date(d[1], d[2], d[3], d[4], d[5])
       alert(date1 < date2);
    }else{
        alert("日期格式错误");
    }
      

  2.   

    日期能直接相减吗?if (Date.parse(starD)-Date.parse(EndD)>0) 
    改成下面这句应该可以
    if(Date.parse(starD)>Date.parse(EndD))
      

  3.   

    var starD = new Date($('#StarDate').val().replace("-","/"));
      

  4.   

    function  DateDiff(sDate1,sDate2){    //sDate1和sDate2是2006-12-18格式  
        var  aDate,  oDate1,  oDate2,  iDays; 
        aDate  =  sDate1.split("-");  
        oDate1  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0]);    //转换为12-18-2006格式  
        aDate  =  sDate2.split("-");
        oDate2  =  new  Date(aDate[1]  +  '-'  +  aDate[2]  +  '-'  +  aDate[0]);  
        iDays  =  parseInt((oDate1  -  oDate2)  /  1000  /  60  /  60  /24);    //把相差的毫秒数转换为天数  
        return   iDays   
        }