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, YYYYfunktioniert 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"?