Ich möchte den Zeitzonenunterschied zwischen New York und Hong Kong mit Node.js Moment-Modul bekommen. Ich habe einige Vorarbeiten geleistet.Get Zeitzone Unterschied in Stunden mit Moment
var NewYork_time_hr = moment().tz("America/New_York").format('HH');
var HongKong_time_hr = moment().tz("Asia/Hong_Kong").format('HH');
I kann dann fortfahren, eine Funktion zu schreiben, die Differenz zwischen den Zeitzonen in 2 Stunden zu berechnen. Ich habe auf eine einfachere Methode gehofft.
Gibt es einen eleganteren und einfacheren Weg, dies mit der Momentenbibliothek zu tun?
upvoted und als Antwort ausgewählt. Ich verstehe nicht ganz, warum die Notwendigkeit für 'var now = moment.utc();'? Warum nicht einfach 'NewYork_time_hr' Offset von' HongKong_time_hr' bekommen? – user781486
Der Kommentar darüber war ein Hinweis - Zeitzone kompensiert das ganze Jahr über und [nicht alle gleichzeitig] (https://en.wikipedia.org/wiki/Daylight_saving_time_by_country). Der Unterschied zwischen Hong Kong (hat keine DST) und New York (hat DST) ist unterschiedlich, je nachdem, ob Sie im Sommer oder im Winter fragen. Und Sie können nicht einfach "hr" verwenden, weil z. Kalkutta ist um +05: 30 versetzt. – Amadan
Große Antwort. Es funktioniert aber auch, wenn Sie 'moment()' anstelle von 'moment.utc()' übergeben. Es wird immer noch als derselbe UTC-basierte Zeitstempel ausgewertet, unabhängig davon, welche Form Sie übergeben. +1 über das Ergebnis ist unterschiedlich, je nachdem, wann Sie es aufrufen. "Wie viele Stunden zwischen New York und Los Angeles?" (Normalerweise 3, aber manchmal 2 und manchmal 4.) –