2016-12-16 10 views
1

moment.jsライブラリを使用して、2つの異なるタイムゾーン間の時間差を計算したいとします。タイムゾーンの異なるモーメントjs diff

私は、ライブラリが提供する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:30で午前moment(string, string)コンストラクタは、私の現在のタイムゾーンの時刻を返します。そして私は答えが4であると予想していましたが、代わりに0を得ました。時間ライブラリの違いを得るためにモーメントライブラリが提供する他の関数はありますか?

+0

おそらく[moment-timezone](http://momentjs.com/timezone/)を使用する必要があります。詳細は、['utcOffset'](http://momentjs.com/docs/#/manipulating/utc-offset/)docsを参照してください。 – VincenzoC

答えて

2

限り、あなたは1つの調整作る場合、あなたの上記のコードは動作しますあなただけの一定の時間帯オフセットを使用しているよう:

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

2番目のパラメータはすでに瞬間、日付と時刻の値を保持する機能を告げますオフセットが設定されている場合に発生します。デフォルト(false)はの現在のオフセット(現地時間)から提供されたオフセットまでの日時をシフトします。

固定オフセットを使用していない場合は、本当にモーメントタイムゾーンアドオンを使用する必要があります。

関連する問題