http://community.csdn.net/Expert/topic/4360/4360247.xml?temp=5.866641E-02看一下

解决方案 »

  1.   

    function compareDate(DateOne,nextDate){ 
        //DateOne 录入日期 nextDate 给定日期
        var monthDateSize=new Array();
        monthDateSize[0] = 31; monthDateSize[1] = 28; monthDateSize[2] = 31; monthDateSize[3] = 30; monthDateSize[4]  = 31; monthDateSize[5]  = 30;
        monthDateSize[6] = 31; monthDateSize[7] = 31; monthDateSize[8] = 30; monthDateSize[9] = 31; monthDateSize[10] = 30; monthDateSize[11] = 31;
       
        /*分解各定日期*/
        var OneMonth =eval( nextDate.substring(5,nextDate.lastIndexOf ("-")));
        var OneDay =eval( nextDate.substring(nextDate.length,nextDate.lastIndexOf ("-")+1));
        var OneYear =eval( nextDate.substring(0,nextDate.indexOf ("-")));
        /*分解录入日期*/
        var twoMonth =eval( DateOne.substring(5,DateOne.lastIndexOf ("-")));
        var twoDay =eval( DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1));
        var twoYear =eval( DateOne.substring(0,DateOne.indexOf ("-")));
       
        var lastDate="";
        /*
        如果以系统时间为标准
        var date=new Date();
        var nextMouth=date.getMonth()+1;
        var nextYear=date.getYear();
        */
        /*如果以录入时间为标准*/
        var nextMouth=OneMonth+1;
        var nextYear=OneYear;
        var arrayFlag=0;
        if(OneMonth==12){
          nextYear=nextYear+1;
      nextMouth=1;
      arrayFlag=0;
        }else{
          nextMouth=nextMouth;
      arrayFlag=OneMonth;
        }
        //首先判断 是否为闰年
        if ((nextYear%4==0)&&((nextYear%100!=0)||(nextYear%400==0))){
           //判断当前月是否是2月
       if(nextMouth==2){
         monthDateSize[1]=29;
       }
       lastDate=monthDateSize[arrayFlag];
        }else{
           lastDate=monthDateSize[arrayFlag];
        }
        var DateTwo=nextYear+"-"+nextMouth+"-"+lastDate;
        //alert("您录入的日期为 "+form1.date.value);
        //alert("给定日期的 下个月的最后一天为 "+DateTwo);
        //必须是月日年这种格式 分割符可以是 - /
       
           if (Date.parse(twoMonth+"-"+twoDay+"-"+twoYear)< Date.parse(nextMouth+"-"+lastDate+"-"+nextYear)){
             //alert("日期  "+ DateOne+"早于 "+ DateTwo);
             return true;
           }else{ 
           alert("日期  "+DateOne+" 晚于 "+ DateTwo);
           return false;
         } }
      

  2.   

    function cmpDate(dat1,dat2){
        dat1 = dat1.createDate();
        dat2 = dat2.createDate();
        dat1.setDate(32);
        dat1.setDate(dat1.getDaysOfMonth());
        return dat1.dateCompare(dat2);
    }
    输入参数为两个日期字符串,用到了我上面回复的地址里的三个函数。