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;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章