js計算兩個時間點時間間隔的程式碼例項

antzone發表於2017-03-23

本章節介紹一下如何獲取兩個時間點之間的間隔,下面就是一段能夠實現此功能的程式碼例項。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var getdiff=function(start,end,fmat){
  var start=start.replace(/-/g,"/");
  var end=end.replace(/-/g,"/");
  var format={"ss":1000,"mm":60*1000,"hh":60*60*1000,"dd":60*60*1000*24}
  var startdate=new Date(Date.parse(start));
  var enddate=new Date(Date.parse(end));
  var result=(enddate.getTime()-startdate.getTime())/format[fmat];
  return result
}
console.log(getdiff("2014-2-5","2014-7-5","dd"))

以上程式碼實現了我們的要求,下面介紹一下程式碼的實現過程。

一.程式碼註釋:

1.var getdiff=function(start,end,fmat){},宣告一個函式,第一個引數是開始是簡單,第二個是結束時間點,第三個規定返回時間段的格式,比如是秒還是天等等。

2.var start=start.replace(/-/g,"/"),將時間字串中的"-"替換為"/",因為斜槓格式時間日期字串能夠相容所有的瀏覽器。

3.var format={"ss":1000,"mm":60*1000,"hh":60*60*1000,"dd":60*60*1000*24},宣告一個物件直接量,每一個屬性表示返回的時間差是和何種格式的,比如ss表示秒,mm表示分,hh表示小時,dd表示天。

4.var startdate=new Date(Date.parse(start)),獲取對應時間字串的事件物件。

5.var result=(enddate.getTime()-startdate.getTime())/format[fmat],獲取相差的時間間隔。

二.相關閱讀:

1.replace()函式可以參閱正規表示式replace()函式一章節。 

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

相關文章