計算兩個時間點相差天數例項程式碼

antzone發表於2017-03-14

在實際的應用中,往往要比較兩個時間點之間的時間差距,來根據這個時間差來做不同的事情,下面分享一段程式碼例項,它能夠實現此種功能,不但能夠計算它們之間相差的天數,也能夠計算它們之間相差的分鐘或者秒數。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function GetDateDiff(startTime,endTime,diffType) 
{ 
  startTime=startTime.replace(/\-/g, "/"); 
  endTime=endTime.replace(/\-/g, "/"); 
  diffType=diffType.toLowerCase(); 
  var sTime=new Date(startTime); 
  var eTime=new Date(endTime); 
  var divNum=1; 
  switch(diffType) 
  { 
    case "second": 
      divNum=1000; 
      break; 
    case "minute": 
      divNum=1000*60; 
      break; 
    case "hour": 
      divNum=1000*3600; 
      break; 
    case "day": 
      divNum =1000*3600*24; 
      break; 
    default: 
      break; 
  } 
  return parseInt((eTime.getTime() - sTime.getTime())/parseInt(divNum)); 
} 
console.log(GetDateDiff("2010-10-11 00:00:00", "2013-10-8 00:01:40","day"));
console.log(GetDateDiff("2010-10-11 00:00:00", "2011-6-20 00:01:40","minute"));

以上程式碼可以輸出兩個時間點之間相差的天數和分鐘數,下面就介紹一下次功能的實現過程。

一.實現原理:

原理極其的簡單,首先通過正規表示式將時間的中的"-"替換為"/",這是因為類似"2012/8/20"這種格式作為Date()建構函式引數的話,所有的瀏覽器都會支援。獲得時間物件之後,然後呼叫getTime()函式獲得時間戳,然後再使用時間戳除以divNum即可,當然這個divNum是根據要獲取的兩個時間點時間差型別據決定的。

二.相關閱讀:

1.Date()建構函式可以參閱javascript Date 物件一章節。

2.parseInt()函式可以參閱JavaScript parseInt()一章節。

3. getTime()函式可以參閱javascript getTime()一章節。 

相關文章