日期差我們需要像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.jb51.net)11-29"); console.log(date1.getTime() == date2.getTime()); //true
注意哦,大家不要這樣寫
var date1 = new Date("2013-11-29"); var date2 = new Da(www.jb51.net)te("2013-11-29"); console.log(date1 == date2); //false
這樣是錯誤的哦,因為使用new date之後日期就是對象了,那麼對象就不能像字符那樣對比了。