2016-02-21 196 views
1

在計算日期時間範圍時遇到一些問題。我即將完成的任務是讓我在幾小時內得到不同的時間。Moment JS - 計算兩個日期之間的小時數

例如,這裏是我的腳本:

var startTime = $('2016-02-21 18:00'); 
    var endTime = $('2016-02-21 19:30'); 
    var hours = moment(endTime, 'YYYY/MM/DD HH:mm').diff(moment(startTime, 'YYYY/MM/DD HH:mm')).duration().asHours(); 
console.log(hours); 

我期待我的console.log(hours)回報像1.5(以小時爲單位估計)。但相反,它是返回此錯誤:

Uncaught TypeError: moment(...).diff(...).duration is not a function 
    at <anonymous>:5:90 
    at Object.InjectedScript._evaluateOn (<anonymous>:895:140) 
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34) 
    at Object.InjectedScript.evaluate (<anonymous>:694:21) 

有沒有人有任何想法?

繼承人這裏的一個完整的例子https://jsfiddle.net/ewmq6sof/

+0

的[獲取片刻的js兩個日期之間的小時差]可能的複製(http://stackoverflow.com/questions/25150570/get-小時 - 兩個日期之間的差異 - js) – Ben

回答

5

你需要用在durationdiff erence:

var startTime = '2016-02-21 18:00'; 
var endTime = '2016-02-21 19:30'; 
var hours = moment 
     .duration(moment(endTime, 'YYYY/MM/DD HH:mm') 
     .diff(moment(startTime, 'YYYY/MM/DD HH:mm')) 
     ).asHours(); 
console.log(hours); // 1.5 
+0

真棒,做了伎倆謝謝你! –

+0

不客氣! @DanielEllison – baao

相關問題