当前位置:编程学习 > JS >>

JS日期比较大小实现程序

日期比较最好的使用了如下方法

 代码如下 复制代码

<html>
 <head>
  <script language="javascript" type="text/javascript">
   /** 日期比较 **/
   function compareDate(strDate1,strDate2)
   {
    var date1 = new Date(strDate1.replace(/-/g, "/"));
    var date2 = new Date(strDate2.replace(/-/g, "/"));
    return date1-date2;
   }
   
   /** 比较 **/
   function doCompare(){
    var strDate1 = document.getElementById("strDate1").value;
    var strDate2 = document.getElementById("strDate2").value;
    var result = compareDate(strDate1,strDate2);
    if ( result>0 ) {
     alert("strDate1晚于strDate2");
    }else if( result<0 ){
     alert("strDate1早于strDate2");
    }else if ( result==0 ){
     alert("strDate1等于strDate2");
    }
   }
  </script>
 </head>
 <body>
  <input type="text" id="strDate1" name="strDate1" value="2012-07-01"/>
  <input type="text" id="strDate2" name="strDate2" value="2012-08-01"/>
  <input type="button" id="compareBtn" name="compareBtn" value="比较" onClick="doCompare();"/>
 </body>
</html>

好了,下面我来给大家介绍其它几种js日期比较函数:

和大家分享一下一个js时间比较的js函数(YYYY-MM-DD):

 代码如下 复制代码

function duibi(a,b)
{
var arr=a.split("-");
var starttime=new Date(arr[0],arr[1],arr[2]);
var starttimes=starttime.getTime();

var arrs=b.split("-");
var lktime=new Date(arrs[0],arrs[1],arrs[2]);
var lktimes=lktime.getTime();

if(starttimes>=lktimes)
{

alert('开始时间大于离开时间,请检查');
return false;
}
else
return true;

}

 
js时间比较(yyyy-mm-dd hh:mi:ss)

 代码如下 复制代码


//比较时间 格式 yyyy-mm-dd hh:mi:ss
    function comptime(){
       var beginTime = "2009-09-21 00:00:00";
       var endTime = "2009-09-21 00:00:01";
       var beginTimes=beginTime.substring(0,10).split('-');
       var endTimes=endTime.substring(0,10).split('-');

  beginTime=beginTimes[1]+'-'+beginTimes[2]+'-'+beginTimes[0]+' '+beginTime.substring(10,19);
  endTime=endTimes[1]+'-'+endTimes[2]+'-'+endTimes[0]+' '+endTime.substring(10,19);
 
  alert(beginTime+"aaa"+endTime);
  alert(Date.parse(endTime));
  alert(Date.parse(beginTime)); 
  var a =(Date.parse(endTime)-Date.parse(beginTime))/3600/1000;
  if(a<0){
   alert("endTime小!");
  }else if (a>0){
   alert("endTime大!");
  }else if (a==0){
   alert("时间相等!");
  }else{
   return 'exception'
  }
   }

例子

 代码如下 复制代码

<html>   
<head>   
<title>calendar</title>   
<script type="text/javascript" src="CalendarFramework.js"></script>   
</head>   
<body>   
开始时间:<input onfocus="setday(this)" id="startTime" name="startTime">到     
结束时间:<input onfocus="setday(this)" id="endTime" name="endTime">   
          <input type="button" onclick="checkTime()" value="校验"/>   
          </body>   
<script type="text/javascript" >   
checkTime = function() {   
    var startTime = document.getElementById("startTime").value;   
    var endTime = document.getElementById("endTime").value;   
    compareCalendar(startTime, endTime);         
}   
//比较日前大小  
function compareDate(checkStartDate, checkEndDate) {      
    var arys1= new Array();      
    var arys2= new Array();      
if(checkStartDate != null && checkEndDate != null) {      
    arys1=checkStartDate.split('-');      
      var sdate=new Date(arys1[0],parseInt(arys1[1]-1),arys1[2]);      
    arys2=checkEndDate.split('-');      
    var edate=new Date(arys2[0],parseInt(arys2[1]-1),arys2[2]);      
if(sdate > edate) {      
    alert("日期开始时间大于结束时间");         
    return false;         
}  else {   
    alert("通过");   
    return true;      
    }   
    }      
}     
  
       //判断日期,时间大小  
function compareTime(startDate, endDate) {   
 if (startDate.length > 0 && endDate.length > 0) {   
    var startDateTemp = startDate.split(" ");   
    var endDateTemp = endDate.split(" ");   
                   
    var arrStartDate = startDateTemp[0].split("-");   
    var arrEndDate = endDateTemp[0].split("-");   
  
    var arrStartTime = startDateTemp[1].split(":");   
    var arrEndTime = endDateTemp[1].split(":");   
  
var allStartDate = new Date(arrStartDate[0], arrStartDate[1], arrStartDate[2], arrStartTime[0], arrStartTime[1], arrStartTime[2]);   
var allEndDate = new Date(arrEndDate[0], arrEndDate[1], arrEndDate[2], arrEndTime[0], arrEndTime[1], arrEndTime[2]);   
                   
if (allStartDate.getTime() >= allEndDate.getTime()) {   
        alert("startTime不能大于endTime,不能通过");   
        return false;   
} else {   
    alert("startTime小于endTime,所以通过了");   
    return true;   
       }   
} else {   
    alert("时间不能为空");   
    return false;   
      }   
}   
//比较日期,时间大小  
function compareCalendar(startDate, endDate) {   
if (startDate.indexOf(" ") != -1 && endDate.indexOf(" ") != -1 ) {   
    //包含时间,日期  
        compareTime(startDate, endDate);               
} else {   
    //不包含时间,只包含日期  
    compareDate(startDate, endDate);   
      }   
}   
</script>   
</html> 

补充:网页制作,js教程 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,