Temporal.PlainDateTime.from()

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 Temporal.PlainDateTime.from() statische Methode erstellt ein neues Temporal.PlainDateTime Objekt aus einem anderen Temporal.PlainDateTime Objekt, einem Objekt mit Datums- und Zeiteigenschaften oder einem RFC 9557 String.

Syntax

js
Temporal.PlainDateTime.from(info)
Temporal.PlainDateTime.from(info, options)

Parameter

info

Eines der folgenden:

  • Eine Temporal.PlainDateTime Instanz, die eine Kopie der Instanz erstellt.
  • Ein RFC 9557 String, der ein Datum, optional eine Zeit und optional einen Kalender enthält.
  • Ein Objekt, das Eigenschaften enthält, die entweder von Temporal.PlainDate.from() (calendar, era, eraYear, year, month, monthCode, day) oder Temporal.PlainTime.from() (hour, minute, second, millisecond, microsecond, nanosecond) erkannt werden. Die Info sollte explizit ein Jahr (als year oder era und eraYear), einen Monat (als month oder monthCode) und einen Tag spezifizieren; andere sind optional und werden auf ihre Standardwerte gesetzt.
options Optional

Ein Objekt, das die folgende Eigenschaft enthält:

overflow Optional

Ein String, der das Verhalten angibt, wenn eine Datumskomponente außerhalb des Bereichs liegt (bei Verwendung des Objekt-info). Mögliche Werte sind:

"constrain" (Standard)

Die Datumskomponente wird begrenzt auf den gültigen Bereich.

"reject"

Ein RangeError wird ausgelöst, wenn die Datumskomponente außerhalb des Bereichs liegt.

Rückgabewert

Ein neues Temporal.PlainDateTime Objekt, das das durch info im angegebenen calendar spezifizierte Datum und die Zeit darstellt.

Ausnahmen

TypeError

Wird in einem der folgenden Fälle ausgelöst:

  • info ist kein Objekt oder ein String.
  • options ist kein Objekt oder undefined.
  • Die bereitgestellten Eigenschaften sind unzureichend, um ein Datum eindeutig zu bestimmen. Sie müssen normalerweise ein year (oder era und eraYear), einen month (oder monthCode) und einen day angeben.
RangeError

Wird in einem der folgenden Fälle ausgelöst:

  • Die bereitgestellten Eigenschaften, die dieselbe Komponente spezifizieren, sind inkonsistent.
  • Die bereitgestellten nicht-numerischen Eigenschaften sind nicht gültig; zum Beispiel, wenn monthCode nie ein gültiger Monatscode in diesem Kalender ist.
  • Die bereitgestellten numerischen Eigenschaften liegen außerhalb des Bereichs und options.overflow ist auf "reject" gesetzt.
  • Die Info liegt nicht im darstellbaren Bereich, der bei ±(108 + 1) Tagen oder etwa ±273.972,6 Jahren ab der Unix-Epoche liegt.

Beispiele

Erstellen eines PlainDateTime aus einem Objekt

js
// Year + month + day + hour + minute + second
const dt = Temporal.PlainDateTime.from({
  year: 2021,
  month: 7,
  day: 1,
  hour: 12,
  minute: 34,
  second: 56,
});
console.log(dt.toString()); // "2021-07-01T12:34:56"

Erstellen eines PlainDateTime aus einem String

js
const dt = Temporal.PlainDateTime.from("2021-07-01T12:34:56");
console.log(dt.toLocaleString()); // "7/1/2021, 12:34:56 PM" (assuming en-US locale)

Für weitere Beispiele, insbesondere hinsichtlich verschiedener Kalender und Überlauf-Einstellungen, siehe Temporal.PlainDate.from() und Temporal.PlainTime.from().

Spezifikationen

Specification
Temporal
# sec-temporal.plaindatetime.from

Browser-Kompatibilität

Siehe auch