js時間比較與差值
//計算天數差的函數,通用
function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2006-12-18格式
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //轉換爲12-18-2006格式
aDate = sDate2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24)+1 //把相差的毫秒數轉換爲天數
return iDays
}
/*
*開始時間與結束時間爲空返回false
*開始時間大於結束時間返回 false
*開始與結束時間相差大於10天返回false
*/
function time_compare(starttime,endtime){//starttime endtime 格式爲2017-12-11
var startdate = new Date(starttime.replace(/\-/g, "\/"));
var enddate = new Date(endtime.replace(/\-/g, "\/"));
var nowday = new Date();
var m = nowday.getMonth()+1;//從 Date 對象返回月份 (0 ~ 11)。
var y = nowday.getFullYear();
var d = nowday.getDate();
var dst = y+"-"+m+"-"+d;
var ddys = new Date(dst);
var year = nowday.getFullYear();
var month = nowday.getMonth()+1;
var nowt = nowday.getDate();
var day = DateDiff(starttime,endtime);
if(starttime=="" || endtime==""){
alert("請選時間!");
return false;
}else if(startdate>enddate){
alert("開時間不能大於結束時間!");
return false;
}else if(day>10){
alert("開始時間與結束時間間隔爲:"+day+"天"+",超過10天,請重新選擇時間!");
return false;
}else if(startdate>=ddys){
alert("開始時間不能大於等於當天");
return false;
}else if(enddate>=ddys){
alert("結束時間不能大於等於當天");
return false;
}else{
return true;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.