js中的日期比较

js中如果想要比较两个时间的大小。例如我们的时间格式为:2010-10-01 19:08:09

我们可能最初的想法就是直接把两个时间做差,但是直接做差会得到一个NaN的东西,那么什么是NaN呢?

 

NaN “Not a Number”。出现这个数值比较少见,以至于我们可以不理它。当运算无法返回正确的数值时,就会返回“NaN”值。NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等于 NaN 。

 

明白了这层意思之后我们就有思路了,把两个时间转化为毫秒然后比较大小就可以了。我们的js代码如下:

function checkDate(){ var startDate = document.getElementById("begintime").value;
            var endDate = document.getElementById("endtime").value;     
            if(startDate.length>0&&endDate.length>0){   
            var startDatestartDateTemp = startDate.split(" ");   
            var endDateendDateTemp = endDate.split(" ");   
            var arrStartDate = startDatestartDateTemp[0].split("-");   
            var arrEndDate = endDateendDateTemp[0].split("-");   
            var arrStartTime = startDatestartDateTemp[1].split(":");   
            var arrEndTime = endDateendDateTemp[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()){   
	     return false;   
            }   
      }   
      return true;		  
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值