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-Uhrzeit-Objekt darstellt, jedoch in der neuen Zeitzone. Da alle Temporal
Objekte dazu konzipiert sind, unveränderlich zu sein, fungiert diese Methode im Wesentlichen als Setter für die timeZoneId
Eigenschaft des Datum-Uhrzeit-Objekts.
Um die Datum-Uhrzeit-Komponenteneigenschaften zu ersetzen, verwenden Sie die with()
Methode. Um dessen Kalender zu ersetzen, verwenden Sie die withCalendar()
Methode.
Syntax
withTimeZone(timeZone)
Parameter
timeZone
-
Entweder ein String oder eine
Temporal.ZonedDateTime
Instanz, die die zu verwendende Zeitzone darstellt. Wenn es sich um eineTemporal.ZonedDateTime
Instanz handelt, wird deren Zeitzone verwendet. Wenn es sich um einen String handelt, kann es sich um einen benannten Zeitzonenbezeichner, einen Offset-Zeitzonenbezeichner oder einen Datum-Uhrzeit-String handeln, der einen Zeitzonenbezeichner oder einen Offset enthält (siehe Zeitzonen und Offsets für weitere Informationen).
Rückgabewert
Ein neues Temporal.ZonedDateTime
Objekt, das denselben Zeitpunkt wie dieses Datum-Uhrzeit-Objekt darstellt, jedoch in der neuen Zeitzone.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
timeZone
weder ein String noch eineTemporal.ZonedDateTime
Instanz ist. RangeError
-
Wird ausgelöst, wenn der Zeitzonenname ungültig ist.
Beispiele
Verwendung von withTimeZone()
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 bei Beibehaltung derselben Wand-Uhrzeit
In dem seltenen Fall, dass Sie die Wand-Uhrzeit beibehalten möchten, aber die Zeitzone ändern (und ein anderer Zeitpunkt resultiert), konvertieren Sie sie zuerst in ein Temporal.PlainDateTime
:
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 # sec-temporal.zoneddatetime.prototype.withtimezone |