Der Umgang mit Zeitzonen ist ein wichtiger Bestandteil jeder Webanwendung. Die vom Backend erfasste Zeit erfolgt normalerweise im UTC-Format. Wenn sie dem Benutzer jedoch angezeigt wird, muss sie in die Ortszeit des Benutzers umgerechnet werden. Dies kann über JavaScript erreicht werden. In diesem Blog erfahren Sie, wie Sie mithilfe von JavaScript die UTC-Datumszeit in die lokale Datumszeit umwandeln.
JavaScript enthält eine „Date“-Klasse, die es uns ermöglicht, mit Datums- und Uhrzeitangaben zu arbeiten. Die Date-Klasse enthält verschiedene Methoden zum Arbeiten mit Datums- und Uhrzeitangaben, einschließlich -
Date() – Gibt das aktuelle Datum und die aktuelle Uhrzeit in Millisekunden zurück. getTime() Gibt die aktuelle Uhrzeit in Millisekunden zurück
getUTCFulYear() – Gibt das Datum und Jahr in der UTC-Zeitzone zurück.
getUTCMonth() – Gibt den Datumsmonat in der UTC-Zeitzone zurück.
getUTCDate() – Gibt den Monat und den Tag eines Datums in der UTC-Zeitzone zurück.
getUTCHours() – Gibt die Datumsstunde in der UTC-Zeitzone zurück.
getUTCMinutes() – Gibt die Datumsminuten in der UTC-Zeitzone zurück.
getUTCSeconds() – Gibt die Sekunden eines Datums in der UTC-Zeitzone zurück.
Wir müssen die UTC-Datumszeit mit der Methode getTimezoneOffset() in die lokale Datumszeit umwandeln. Diese Methode gibt den Zeitunterschied in Minuten zwischen UTC und Ortszeit zurück. Diese Minutendifferenz kann dann verwendet werden, um die UTC-Datumszeit in eine lokale Datumszeit umzuwandeln.
Zum Beispiel konvertiert der folgende Code UTC-Datumszeit in lokale Datumszeit -
<!DOCTYPE html> <html> <body> <div id="result"></div> <script> var utc = new Date(); var offset = utc.getTimezoneOffset(); var local = new Date(utc.getTime() + offset * 60000); document.getElementById("result").innerHTML = local; </script> </body> </html>
Wir sehen hier ein neues Datumsobjekt namens „utc“, das das aktuelle UTC-Datum und die aktuelle UTC-Uhrzeit enthält. Anschließend verwenden wir die Funktion getTimezoneOffset(), um den Zeitunterschied in Minuten zwischen UTC und Ortszeit zu berechnen. Abschließend berechnen wir die Ortszeit, indem wir diese Größe zur UTC-Zeit in Millisekunden addieren.
Ähnlich können wir ein angegebenes UTC-Datum und eine lokale Datumszeit umwandeln. Um dasselbe zu erreichen, geben Sie einfach das UTC-Datum und die UTC-Uhrzeit als Parameter an die Date()-Funktion Object() { [nativer Code] } an. Sehen wir uns den Code zum Konvertieren einer UTC-Datumszeit von „2018-11-12 12:00:00“ in eine lokale Datumszeit an −
<!DOCTYPE html> <html> <head> <title>Date Example</title> </head> <body> <div id="result"></div> <script> var utc = new Date("2018-11-12 12:00:00"); var offset = utc.getTimezoneOffset(); var local = new Date(utc.getTime() + offset * 60000); document.getElementById("result").innerHTML = "UTC : " + utc + "<br>" + "Local : " + local; </script> </body> </html>
Wir haben das UTC-Datum und die UTC-Uhrzeit als Strings an den Date()-Konstruktor übergeben. Anschließend konvertieren wir die UTC-Datumszeit in die lokale Datumszeit mit der gleichen Methode wie zuvor.
Wie können wir nun von der Ortszeit in die UTC-Zeit umrechnen, indem wir noch einmal die Methode getTimezoneOffset() verwenden, da diese Funktion den Zeitunterschied in Minuten zwischen UTC und der Ortszeit zurückgibt Die Differenznummer kann verwendet werden, um die lokale Datumszeit in die UTC-Datumszeit umzurechnen.
Zum Beispiel konvertiert der folgende Code die lokale Datumszeit in UTC-Datumszeit –
<!DOCTYPE html> <html> <body> <div id="result"></div> <script> var local = new Date(); var offset = local.getTimezoneOffset(); var utc = new Date(local.getTime() - offset * 60000); document.getElementById("result").innerHTML = utc; </script> </body> </html>
Im obigen Code erstellen wir zunächst ein neues Datumsobjekt mit dem Namen „local“, das das aktuelle lokale Datum und die aktuelle Uhrzeit enthält. Anschließend verwenden wir die Methode getTimezoneOffset(), um den Zeitunterschied in Minuten zwischen UTC und Ortszeit zu ermitteln. Nachdem wir diesen Wert von der Ortszeit in Millisekunden subtrahiert haben, erhalten wir die UTC-Zeit.
Wir können auch eine bestimmte lokale Datumszeit in eine UTC-Datumszeit umwandeln, indem wir das lokale Datum und die lokale Uhrzeit als Argumente an den Date()-Konstruktor übergeben. Der folgende Code konvertiert beispielsweise eine lokale Datumszeit von „2018-11-12“. 12:00:00" in die UTC-Datumszeit −
<!DOCTYPE html> <html> <body> <div id="result"></div> <script> var local = new Date("2018-11-12 12:00:00"); var offset = local.getTimezoneOffset(); var utc = new Date(local.getTime() - offset * 60000); document.getElementById("result").innerHTML = utc; </script> </body> </html>
Wir übergeben das lokale Datum und die lokale Uhrzeit als String an den Date()-Konstruktor. Anschließend konvertieren wir die lokale Datumszeit mit der gleichen Methode wie zuvor in UTC-Datumszeit.
In diesem Tutorial haben wir gelernt, wie man UTC-Datumszeit mithilfe von JavaScript in lokale Datumszeit konvertiert. Wir haben auch erfahren, dass die JavaScript-Date-Klasse verschiedene Methoden für die Arbeit mit Datums- und Uhrzeitangaben bereitstellt, z. B. getTimezoneOffset(), mit der UTC-Datumszeit in lokale Datumszeit konvertiert werden kann. In diesem Blog haben wir auch gelernt, wie man mit derselben Methode lokale Datums- und Uhrzeitangaben in UTC-Datumsangaben umwandelt. Es ist wichtig zu beachten, dass der Umgang mit Zeitzonen ein wichtiger Aspekt jeder Webanwendung ist und dass es auch wichtig ist, Zeiten korrekt umzurechnen, damit sie dem Benutzer korrekt angezeigt werden.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich UTC-Datumszeit mithilfe von JavaScript in lokale Datumszeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!