js計算兩個時間點的時間差

//調用該方法(主方法)
function dateDiff(date1, date2){
    var type1 = typeof date1, type2 = typeof date2;
    if(type1 == 'string')
    date1 = stringToTime(date1);
    else if(date1.getTime)
    date1 = date1.getTime();
    if(type2 == 'string')
    date2 = stringToTime(date2);
    else if(date2.getTime)
    date2 = date2.getTime();
    return (date1 - date2) / 1000;//除1000是毫秒,不加是秒
}
//字符串轉成Time(dateDiff)所需方法
function stringToTime(string){
    var f = string.split(' ', 2);
    var d = (f[0] ? f[0] : '').split('-', 3);
    var t = (f[1] ? f[1] : '').split(':', 3);
    return (new Date(
    parseInt(d[0], 10) || null,
    (parseInt(d[1], 10) || 1)-1,
    parseInt(d[2], 10) || null,
    parseInt(t[0], 10) || null,
    parseInt(t[1], 10) || null,
    parseInt(t[2], 10) || null
    )).getTime();
}
//調用 dateDiff("2009-10-10 19:00:00","2009-10-10 18:00:00")

     var date = new Date();     
     var stime = rec.startTime; 
           return shapeTimeformat(dateDiff(date.getTime(), stime)*1000); 

function shapeTimeformat(time){
 
 var Min = 60,  //分
  Hr = Min * 60, //小時
  now = time/1000,
  h = Math.floor(now/Hr),
  m = Math.floor((now%Hr)/Min),
  s = Math.floor((now%Hr)%Min);
 time = null;
 return ((h < 10 ? '0' : '')+h) + ((m < 10 ? ':0' : ':')+m) + ((s < 10 ? ':0' : ':')+s);
 
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章