javascript 判断两个日期之差的示例代码

日期差我们需要像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.cainiaojc.com)11-29");
 console.log(date1.getTime() == date2.getTime()); //true

注意哦,大家不要这样写

var date1 = new Date("2013-11-29");
 var date2 = new Da(www.cainiaojc.com)te("2013-11-29");
 console.log(date1 == date2); //false

这样是错误的哦,因为使用new date之后日期就是对象了,那么对象就不能像字符那样对比了。