Die Frage ist ein wenig unklar. Ich werde mein Bestes geben, um dies zu erklären. Zuerst sollten Sie verstehen, wie man moment-timezone benutzt. Gemäß dieser Antwort hier TypeError: moment().tz ist keine Funktion, müssen Sie moment von moment-timezone importieren, anstatt von dem Standardmoment (natürlich müssen Sie zuerst moment-timezone per npm installieren!). Für die Klarheit,
const moment=require('moment-timezone')//importiere aus moment-timezone
Jetzt, um die Zeitzonenfunktion zu nutzen, verwenden Sie moment.tz("Datumsschnur/moment()","Zeitzone") (besuchen Sie https://momentjs.com/timezone/ für weitere Details). Diese Funktion gibt ein Moment-Objekt mit einer bestimmten Zeitzone zurück. Für die Klarheit,
var newYork= moment.tz("2014-06-01 12:00", "America/New_York");/* dieser Code betrachtet New York als Zeitzonen.*/
Wenn Sie nun versuchen, newYork (das Moment-Objekt) mit moments toDate() (ISO 8601 Formatkonvertierung) umzuwandeln, erhalten Sie die Zeit von Greenwich, UK. Für weitere Details lesen Sie diesen Artikel https://www.nhc.noaa.gov/aboututc.shtml, über UTC. Wenn Sie jedoch nur Ihre lokale Zeit in diesem Format möchten (New Yorker Zeit, gemäß dieses Beispiels), fügen Sie einfach die Methode .utc(true) hinzu, mit dem arg true, zu Ihrem Moment-Objekt. Für die Klarheit,
newYork.toDate()// wird Ihnen die Zeit von Greenwich, UK, geben.
newYork.utc(true).toDate()// gibt Ihnen die lokale Zeit. Gemäß des Arguments, das wir oben für die moment.tz Methode spezifiziert haben, ist es 12:00. Sie können dies natürlich mit moment() ändern.
Kurz gesagt, moment.tz berücksichtigt die von Ihnen angegebene Zeitzone und vergleicht Ihre lokale Zeit mit der Zeit in Greenwich, um Ihnen ein Ergebnis zu liefern. Ich hoffe, das war hilfreich.