Heim  >  Artikel  >  Web-Frontend  >  Wie konvertiere ich das Datum in JavaScript in eine andere Zeitzone?

Wie konvertiere ich das Datum in JavaScript in eine andere Zeitzone?

王林
王林nach vorne
2023-09-08 23:17:021198Durchsuche

如何在 JavaScript 中将日期转换为另一个时区?

JavaScript verfügt über einen neuen Date()-Konstruktor, mit dem ein Datumsobjekt erstellt wird, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen. Dieses Datumsobjekt verwendet die UTC-Zeitzone oder die Zeitzone des Client-Browsers, d. h. wenn Sie sich in Indien befinden und verwenden Mit dem neuen Date()-Konstruktor erhalten Sie Ihre Ortszeit. Manchmal müssen wir jedoch die Zeitzone eines anderen Landes ermitteln, was nicht direkt mit toLocaleString() möglich ist. Am Ende des Artikels können Sie das Datum jeder anderen Zeitzone in JavaScript abrufen.

Die beiden Methoden, die wir in diesem Artikel verwenden, um ein Datum in eine andere Zeitzone umzuwandeln, sind wie folgt: −

  • Verwenden der toLocaleString()-Methode

  • Verwenden Sie die format()-Methode

Verwenden Sie die toLocaleString()-Methode

Die Methode

toLocaleString() kann mithilfe von Datumsobjekten aufgerufen werden. Diese Methode bietet die Möglichkeit, Daten basierend auf den übergebenen Parametern von einer Zeitzone in eine andere zu konvertieren. Es akzeptiert zwei Parameter, der erste Parameter ist „locale“, die Sprache der Formatkonvention, die verwendet werden soll, für Englisch ist es „en-US“, der zweite Parameter ist „options“, für uns ist es {timeZone : "countryName"}, wobei CountryName der Name des Landes ist, dessen Zeitzone wir ändern möchten.

Hier ist der Schritt-für-Schritt-Prozess zum Konvertieren eines Datums in eine andere Zeitzone in JavaScript mithilfe der toLocaleString()-Methode.

  • Verwenden Sie den Date-Konstruktor, um ein Datumsobjekt zu erstellen

  • Verwenden Sie das Datumsobjekt mit der toLocaleString()-Methode und übergeben Sie das erste Argument als „en-US“ für die englischsprachige Datums- und Uhrzeitformatierung und das zweite Argument {timeZone: „America/New_York“}, um die Zeitzone von New York zu erhalten

  • Speichern Sie den von dieser Methode zurückgegebenen Wert in einer Variablen. Diese Variable ist unsere erforderliche Zeitzone.

Beispiel

In diesem Beispiel verwenden wir die toLocaleString()-Methode von JavaScript, um ein Datum in eine andere Zeitzone zu konvertieren.

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Converting date to another timezone in JavaScript</title>
</head>
<body>
   <h3>Convert date to America/New_York Time Zone using toLocaleString() Method</h3>
   <p id="input">Local Time: </p>
   <p id="output">America/New_York Time Zone: </p>
   <script>
      // date objec
      let date = new Date();
      document.getElementById("input").innerText += date ;
      
      // convert date to another timezone
      let output = date.toLocaleString("en-US", {
         timeZone: "America/New_York"
      });
      
      // display the result
      document.getElementById("output").innerText += output;
   </script>
</body>
</html>

Verwenden der Format()-Methode

Wir können die Methode format() mit dem Objekt „Intl.DateTimeFormat“ verwenden und das als Argument an die Methode format() übergebene Datumsobjekt verwenden, um die Zeitzone in eine Zeitzone zu konvertieren, die beim Erstellen des Objekts „Intl.DateTimeFormat“ übergeben wurde. Es klingt kompliziert, ist aber sehr einfach, wenn Sie sich das Beispiel unten ansehen.

Hier ist die schrittweise Vorgehensweise zum Konvertieren eines Datums in eine andere Zeitzone in JavaScript mithilfe der format()-Methode.

  • Erstellen Sie ein Datumsobjekt mit dem Date-Konstruktor.

  • Setzen Sie beim Erstellen des Objekts „Intl.DateTimeFormat“ den ersten Parameter auf „en-US“ für die englischsprachige Datums- und Uhrzeitformatierung und den zweiten Parameter {timeZone: „America/New_York“} für „Ermitteln Sie die Zeitzone von New“. York.

  • Verwenden Sie die Methode format() mit diesem Objekt, übergeben Sie das Datumsobjekt als Argument und speichern Sie es in einer Variablen. Diese Variable ist unsere erforderliche Zeitzone.

Beispiel

In diesem Beispiel konvertieren wir ein Datum in JavaScript mithilfe der format()-Methode in eine andere Zeitzone.

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Convert date to America/New_York timezone in JavaScript</title>
</head>
<body>
   <h3>Convert date to America/New_York timezone using format() Method</h3>
   <p id="input">Local Time: </p>
   <p id="output">America/New_York Time Zone: </p>
   <script>
      // date objec
      let date = new Date();
      document.getElementById("input").innerText += date ;
      
      // create a new date object
      let newObj = Intl.DateTimeFormat('en-US', {
         timeZone: "America/New_York"
      })
      
      // convert date to another timezone
      let newDate = newObj.format(date);
      
      // display the result
      document.getElementById("output").innerHTML += newDate;
   </script>
</body>
</html>

Zusammenfassung

Lassen Sie uns zusammenfassen, was wir in diesem Tutorial gelernt haben. Wir sehen, dass wir zwei Möglichkeiten haben, ein Datum in eine andere Zeitzone zu konvertieren: Die erste ist die Verwendung der toLocaleString()-Methode des Datumsobjekts und die zweite die Verwendung der format()-Methode des „Intl.DateTimeFormat“-Objekts. Diese beiden Methoden haben unterschiedliche Anwendungsfälle und können je nach Bedarf ausgewählt werden. Wir empfehlen die Verwendung der toLocaleString()-Methode, die einfach zu verwenden ist und weniger Codezeilen erfordert als die format()-Methode des „Intl.DateTimeFormat“-Objekts.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich das Datum in JavaScript in eine andere Zeitzone?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen