Daten im ISO 8601-Format mit Zeitzonenversatz in JavaScript
In JavaScript kann die Erstellung von Daten im ISO 8601-Format mit Zeitzonenversatz eine Herausforderung sein mögliche negative Zeitzonenversätze. Dieser Artikel befasst sich mit diesem Problem und bietet eine Lösung.
Das Format verstehen
Das ISO 8601-Format gibt Datumsangaben wie folgt an: JJJJ-MM-TTThh:mm:ss± hh:mm. Beispielsweise stellt 2002-10-10T12:00:00-05:00 den Mittag des 10. Oktober 2002 in der zentralen Sommerzeit (fünf Stunden hinter UTC) dar.
Suchen nach Ortszeit und UTC Offset
Um die ISO 8601-Zeichenfolge zu erstellen, müssen wir zunächst die Ortszeit mithilfe von new Date() und ermitteln Berechnen Sie den UTC-Offset mit getTimezoneOffset(). Der Offset wird in Minuten ermittelt, also dividieren wir ihn durch 60, um die Anzahl der Stunden zu erhalten.
Umgang mit negativen Zeitzonen-Offsets
Die Funktion getTimezoneOffset() kann einen negativen Wert zurückgeben Werte. In solchen Fällen müssen wir den Offset anders formatieren. Beispielsweise sollte ein Offset von -120 Minuten als 02:00 (zwei Stunden vor UTC) angezeigt werden.
Hilfsfunktion zur Formatierung
Um den Vorgang zu vereinfachen , eine Hilfsfunktion, toIsoString, kann verwendet werden, um Datumsangaben im ISO 8601-Format mit Zeitzonenversätzen zu formatieren:
function toIsoString(date) { var tzo = -date.getTimezoneOffset(), // Make the offset positive dif = tzo >= 0 ? ' ' : '-', // Determine the sign pad = function(num) { // Ensure two-digit representation return (numDiese Funktion verwendet ein Datum als Argument und formatiert es gemäß der ISO 8601-Spezifikation, einschließlich des Zeitzonenversatzes.
Beispielverwendung
Der folgende Code zeigt, wie die toIsoString-Funktion verwendet wird:
var dt = new Date(); console.log(toIsoString(dt)); // Outputs the date in ISO 8601 format with timezone offsetMit diesem Ansatz können Sie Datumsangaben in JavaScript problemlos gemäß dem ISO 8601-Standard formatieren und so sicherstellen, dass sie dem richtigen Format entsprechen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3