日期差我們需要像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之後日期就是物件了,那麼物件就不能像字元那樣對比了。