Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Temporal.ZonedDateTime.prototype.withTimeZone()

Limited availability

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

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

Um die Komponenten des Datum-Zeit-Objekts 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. Bei einer Temporal.ZonedDateTime Instanz wird ihre Zeitzone verwendet. Bei einem String kann es sich um einen benannten Zeitzonen-Identifikator, einen Offset-Zeitzonen-Identifikator oder einen Datum-Zeit-String handeln, der einen Zeitzonen-Identifikator oder einen Offset enthält (siehe Zeitzonen und Offsets für mehr Informationen).

Rückgabewert

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

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 bei Beibehaltung der gleichen Uhrzeit

In dem seltenen Fall, dass Sie die Uhrzeit beibehalten, aber die Zeitzone ändern möchten (was zu einem anderen Zeitpunkt führt), 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
# sec-temporal.zoneddatetime.prototype.withtimezone

Browser-Kompatibilität

Siehe auch