这篇文章主要介绍了 javascript 判断两个日期之差的示例代码, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
日期差我们需要像 php 中一样把如 2015-08-30 这种转换成秒之后再利用两个日期的秒数进行相减之后再加起判断就可以了,如果判断日期相等就简单多了在文章最后有例子说明。
例子 1,日期之差函数
- function better_time(strDateStart,strDateEnd){
- var strSeparator = "-"; //日期分隔符
- var strDateArrayStart;
- var strDateArrayEnd;
- var intDay;
- strDateArrayStart = strDateStart.split(strSeparator);
- strDateArrayEnd = strDateEnd.split(strSeparator);
- var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
- var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
- intDay = (strDateE-strDateS)/(1000*3600*24);
- return intDay;
- }
例子 2
- function checkTime(){
- var dateInp=$("#dateInp").val();
- var day1=Date.parse(dateInp.replace(/-/g, "/"));
- var nowDate = new Date();
- var dateStr = nowDate.getFullYear()+"/"+(nowDate.getMonth() + 1)+"/"+nowDate.getDate();
- var day2=Date.parse(dateStr);
- var apartTime=day1-day2;
- var apartDay=parseInt(apartTime / (1000 * 60 * 60 * 24));
- if(apartDay ==0){
- alert("不能预约当天");
- return false;
- }else if (apartDay < 1 || apartDay > 3){
- alert("预约日期超出范围");
- return false;
- }
- }
判断日期相等
- var date1 = new Date("2013-11-29");
- var date2 = new Date("2013-(www.phperz.com)11-29");
- console.log(date1.getTime() == date2.getTime()); //true
注意哦,大家不要这样写
- var date1 = new Date("2013-11-29");
- var date2 = new Da(www.phperz.com) te("2013-11-29");
- console.log(date1 == date2); //false
这样是错误的哦,因为使用 new date 之后日期就是对象了,那么对象就不能像字符那样对比了。
来源: