2016-12-16 4 views
1

Ich möchte die Differenz der Zeit in Stunden zwischen 2 verschiedenen Zeitzonen mit der moment.js-Bibliothek berechnen.Moment js diff mit unterschiedlicher Zeitzone

Ich habe versucht, von der Bibliothek zur Verfügung gestellt diff Funktion, aber es ist nicht die richtigen Antworten bereitstellt, habe ich versucht:

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') 

Ich bin in UTC+5:30 und der moment(string, string) Konstruktor gibt die Zeit in meiner aktuellen Zeitzone. Und ich habe erwartet, dass die Antwort 4 statt 0 ist. Gibt es eine andere Funktion, die die Moment-Bibliothek bietet, um Unterschiede zwischen Zeitzonen zu erhalten?

+0

Wahrscheinlich müssen Sie [moment-timezone] (http://momentjs.com/timezone/) verwenden. Weitere Informationen finden Sie in der Dokumentation zu ''utcOffset'' (http://momentjs.com/docs/#/manipulating/utc-offset/). – VincenzoC

Antwort

2

Solange Sie nur mit festen Zeitzonenverschiebungen werden, Ihr obiger Code wird funktionieren, wenn Sie eine Einstellung vornehmen:

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

Der zweite Parameter die Funktion teilt den Datums- und Uhrzeitwert in dem Moment bereits behalten hat, wenn der Offset eingestellt ist. Der Standardwert (false) verschiebt das Datum und die Uhrzeit von seinem aktuellen Offset (Ihre lokale Zeit) zu dem Offset zur Verfügung gestellt.

Wenn Sie nicht mit festen Offsets arbeiten, müssen Sie in der Tat das Moment-Timezone-Add-On verwenden.