2015-08-30 などの日付の差を PHP と同様に秒に変換し、2 つの日付の秒を使用して減算し、それらを加算して日付が等しいかどうかを判断する必要があります。これは簡単です。記事の最後にさらに例があります。
例 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
これは間違いです。新しい日付を使用すると、日付がオブジェクトになり、オブジェクトを文字のように比較できなくなります。