Initialisieren Sie einen Moment mit dem Zeitzonen-Offset, den ich mit @ erstellt hab

Ich verwende moment und moment-timezone in Javascript und dieser Teil davon ist eine der unintuitivsten APIs, die ich je gesehen habe.

Ich würde das erwarten:

moment("2015-12-14T04:00:00Z").utcOffset()

wäre eine reine Funktion und würde den im Argument enthaltenen Offset mit dem Wert 0 zurückgeben. Stattdessen konvertiert es ihn implizit in meinen lokalen Zeitzonen-Offset (PST). Dies gibt also -480 zurück. Warum? Ich habe gefragt, welchen Versatz das gerade erstellte Objekt hat und nicht in welchem Versatz ich mich gerade befinde. Es wäre, als hätte ich eine API geschrieben, in der der Aufruf von User.find (123) .name () Ihren Namen anstelle des Namens des Benutzers zurückgibt 123.

Wie auch immer, ich kann

moment("2015-12-14T04:00:00Z").tz("utc").utcOffset()

Aber meine Datums- / Uhrzeitzeichenfolge ist dynamisch, daher kenne ich die Zeitzone nicht.

Wie kann ich das erwartete Verhalten erhalten, einen Moment in js, der sich im Zeitzonen-Offset befindet, der in der Zeichenfolge enthalten ist, die ich übergeben habe?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage