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.PlainDate.prototype.toZonedDateTime()

Limited availability

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

Die toZonedDateTime() Methode von Temporal.PlainDate Instanzen gibt ein neues Temporal.ZonedDateTime Objekt zurück, das dieses Datum, eine angegebene Zeit und eine angegebene Zeitzone im gleichen Kalendersystem darstellt.

Syntax

js
toZonedDateTime(timeZone)
toZonedDateTime(info)

Parameter

timeZone

Entweder ein String oder eine Temporal.ZonedDateTime Instanz, die die timeZone Option darstellt. Dies ist eine bequeme Überladung, sodass toZonedDateTime(timeZone) äquivalent zu toZonedDateTime({ timeZone }) ist, wobei timeZone ein String oder Temporal.ZonedDateTime ist. Diese Überladung wird gewählt, wenn das erste Argument kein Objekt ist oder die timeZone-Eigenschaft des Objekts undefined ist (da ZonedDateTime Instanzen stattdessen eine timeZoneId Eigenschaft haben).

info

Ein Objekt, das einige oder alle der folgenden Eigenschaften enthält (in der Reihenfolge, in der sie abgerufen und validiert werden):

plainTime Optional

Ein String, ein Objekt oder eine Temporal.PlainTime Instanz, die die Zeitkomponente des resultierenden ZonedDateTime darstellt. Es wird in ein Temporal.PlainTime Objekt umgewandelt, indem derselbe Algorithmus wie bei Temporal.PlainTime.from() verwendet wird. Standardmäßig wird die erste gültige Zeit in dieser Zeitzone an diesem Kalenderdatum verwendet, die normalerweise "00:00:00" ist, sich aber unterscheiden kann, wenn beispielsweise die Sommerzeit Mitternacht überspringt.

timeZone

Entweder ein String oder eine Temporal.ZonedDateTime Instanz, die die zu verwendende Zeitzone darstellt. Wenn eine Temporal.ZonedDateTime Instanz vorliegt, wird deren Zeitzone verwendet. Wenn ein String, kann es sich um einen benannten Zeitzonenidentifikator, einen Offset-Zeitzonenidentifikator oder einen Datum-Zeit-String mit einem Zeitzonenidentifikator oder einem Offset handeln (siehe Zeitzonen und Offsets für weitere Informationen).

Rückgabewert

Ein neues Temporal.ZonedDateTime Objekt, das das durch dieses Datum, plainTime und timeZone angegebene Datum und die Zeit im Kalendersystem dieses Datums darstellt.

Im Fall von Mehrdeutigkeiten wird immer das compatible Verhalten verwendet: wenn die Zeit in eine Lücke fällt, bewegen wir uns um die Länge der Lücke vorwärts; wenn die Zeit in eine Mehrdeutigkeit fällt, wählen wir die frühere der beiden Möglichkeiten. Das bedeutet, dass das resultierende ZonedDateTime möglicherweise ein potenziell anderes Datum oder eine andere Uhrzeit als die Eingabe hat.

Ausnahmen

TypeError

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

RangeError

Wird ausgelöst, wenn timeZone ein String ist, der kein gültiger Zeitzonenidentifikator ist.

Beispiele

Verwendung von toZonedDateTime()

js
const summer = Temporal.PlainDate.from("2021-07-01");
// Just time zone
const summerTime = summer.toZonedDateTime("America/New_York");
console.log(summerTime.toString()); // 2021-07-01T00:00:00-04:00[America/New_York]

const winter = Temporal.PlainDate.from("2021-01-01");
// Time zone and time
const winterTime = winter.toZonedDateTime({
  plainTime: "12:34:56",
  timeZone: "America/New_York",
});
console.log(winterTime.toString()); // 2021-01-01T12:34:56-05:00[America/New_York]

const spring = Temporal.PlainDate.from("2021-03-01");
// Time zone as object and time as object
const springTime = spring.toZonedDateTime({
  plainTime: summerTime.toPlainTime(),
  timeZone: winterTime,
});
console.log(springTime.toString()); // 2021-03-01T00:00:00-05:00[America/New_York]

Spezifikationen

Specification
Temporal
# sec-temporal.plaindate.prototype.tozoneddatetime

Browser-Kompatibilität

Siehe auch