日期比较最好的使用了如下方法
代码如下 |
复制代码 |
<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>
|
|