Ich verwende Moment.js , um Daten in meiner Web-App zu analysieren und zu formatieren. Als Teil eines JSON-Objekts sendet mein Backend-Server Daten in Millisekunden ab der UTC-Epoche (Unix-Offset).
Das Parsen von Daten in einer bestimmten Zeitzone ist einfach. Fügen Sie vor dem Parsen einfach die RFC 822-Zeitzonen-ID an das Ende der Zeichenfolge an:
// response varies according to your timezone
const m1 = moment('3/11/2012 13:00').utc().format("MM/DD HH:mm")
// problem solved, always "03/11 17:00"
const m2 = moment('3/11/2012 13:00 -0400').utc().format("MM/DD HH:mm")
console.log({ m1, m2 })
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Aber wie formatiere ich ein Datum in einer bestimmten Zeitzone ?
Ich möchte konsistente Ergebnisse unabhängig von der aktuellen Uhrzeit des Browsers, aber ich möchte keine Daten in UTC anzeigen.
DD MMM, YYYY
funktioniert nicht, wenn ich es gerne benutze moment.tz("2018-02-15T14:20:00.000+0530", "Asia/Bangkok").format("DD MMM, YYYY")
. Kann mich jemand in der Dokumentation darauf hinweisen, wo ich bei Verwendung dieser API alle Schlüssel für die Formatierungszeit finden kann?
"15 Feb, 2018"
. Wollten Sie Formatzeichenfolge verwenden DD MMMM, YYYY
, um zu erhalten "15 February, 2018"
?