Temporal.ZonedDateTime.prototype.withTimeZone()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die withTimeZone()-Methode von Temporal.ZonedDateTime-Instanzen gibt ein neues Temporal.ZonedDateTime-Objekt zurück, das denselben Zeitpunkt wie dieses Datum und diese Zeit darstellt, jedoch in der neuen Zeitzone. Da alle Temporal-Objekte unveränderlich gestaltet sind, fungiert diese Methode im Wesentlichen als Setter für die timeZoneId-Eigenschaft der Datum-Zeit.

Um die Komponenten der Datum-Zeit zu ersetzen, verwenden Sie die with()-Methode. Um den Kalender zu ersetzen, verwenden Sie die withCalendar()-Methode.

Syntax

js
withTimeZone(timeZone)

Parameter

timeZone

Entweder ein String oder eine Temporal.ZonedDateTime-Instanz, die die zu verwendende Zeitzone darstellt. Wenn eine Temporal.ZonedDateTime-Instanz übergeben wird, wird deren Zeitzone verwendet. Wird ein String übergeben, kann dieser ein benannter Zeitzonenbezeichner, ein Offset-Zeitzonenbezeichner oder ein Datum-Zeit-String mit einem Zeitzonenbezeichner oder Offset sein (siehe Zeitzonen und Offsets für weitere Informationen).

Rückgabewert

Ein neues Temporal.ZonedDateTime-Objekt, das denselben Zeitpunkt wie dieses Datum und diese Zeit darstellt, jedoch in der neuen Zeitzone.

Ausnahmen

TypeError

Wird ausgelöst, wenn timeZone weder ein String noch eine Temporal.ZonedDateTime-Instanz ist.

RangeError

Wird ausgelöst, wenn der Zeitzonenname ungültig ist.

Beispiele

Verwendung von withTimeZone()

js
const meetingTime = Temporal.ZonedDateTime.from(
  "2021-08-01T12:00[America/New_York]",
);
const meetingTimeInParis = meetingTime.withTimeZone("Europe/Paris");
console.log(meetingTimeInParis.toString()); // 2021-08-01T18:00:00+02:00[Europe/Paris]

Ersetzen der Zeitzone, während die gleiche Wanduhrzeit beibehalten wird

Im seltenen Fall, dass Sie die Wanduhrzeit gleich halten, aber die Zeitzone ändern möchten (und in einem anderen Zeitpunkt resultieren), konvertieren Sie es zuerst in ein Temporal.PlainDateTime:

js
const meetingTime = Temporal.ZonedDateTime.from(
  "2021-08-01T12:00[America/New_York]",
);
const meetingTimeInParis = meetingTime
  .toPlainDateTime()
  .toZonedDateTime("Europe/Paris");
console.log(meetingTimeInParis.toString()); // 2021-08-01T12:00:00+02:00[Europe/Paris]

Spezifikationen

Specification
Temporal proposal
# sec-temporal.zoneddatetime.prototype.withtimezone

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch