2016-12-16 104 views
1

我想使用moment.js庫計算兩個不同時區之間的時間差(以小時爲單位)。不同時區的瞬間js差異

我嘗試使用庫提供diff功能,但它沒有提供正確的答案,我想:

moment('2016-12-18 6:00:00', 'YYYY-MM-DD HH:mm:ss') 
    .diff(moment('2016-12-18 6:00:00', 'YYYY-MM-DD HH:mm:ss').utcOffset('+09:30'), 'hours') 

我在UTC+5:30moment(string, string)構造函數返回我的當前時區的時間。我期待的答案是4而不是0。時光庫提供的其他功能是否有助於區分時區之間的差異?

+0

您可能需要使用[moment-timezone](http://momentjs.com/timezone/)。有關更多詳細信息,請參閱['utcOffset'](http://momentjs.com/docs/#/manipulating/utc-offset/)文檔。 – VincenzoC

回答

2

只要你只是使用固定的時區偏移,如果你做一個調整你上面的代碼將工作:

.utcOffset('+09:30', true) 

第二個參數告訴函數已保留的日期和時間值的時刻有偏移量設置時。默認(false)將從轉移日期和時間從其當前偏移量(您的本地時間)到提供的偏移量。

如果您沒有使用固定偏移量,那麼您確實需要使用時區時間附加組件。