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

Syntax

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

Parameter

info

Einer 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 angeben; 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 beschreibt, wenn eine Datums-Komponente außerhalb des Bereichs liegt (bei Verwendung des Objekt info). Mögliche Werte sind:

"constrain" (Standard)

Die Datums-Komponente wird auf den gültigen Bereich eingeschränkt.

"reject"

Ein RangeError wird ausgelöst, wenn die Datums-Komponente außerhalb des gültigen Bereichs liegt.

Rückgabewert

Ein neues Temporal.PlainDateTime Objekt, das das Datum und die Uhrzeit, die durch info im angegebenen calendar spezifiziert sind, darstellt.

Ausnahmen

TypeError

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

  • info ist kein Objekt oder String.
  • options ist kein Objekt oder undefined.
  • Die bereitgestellten Eigenschaften sind nicht ausreichend, um ein Datum eindeutig zu bestimmen. Normalerweise müssen Sie 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; beispielsweise, wenn monthCode kein gültiger Monatscode in diesem Kalender ist.
  • Die bereitgestellten numerischen Eigenschaften sind außerhalb des Bereichs, und options.overflow ist auf "reject" gesetzt.
  • Die Info ist nicht in der darstellbaren Reichweite, die ±(108 + 1) Tage oder etwa ±273.972,6 Jahre ab der Unix-Epoche beträgt.

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 bezüglich verschiedener Kalender und Einstellungen zum Überlauf, siehe Temporal.PlainDate.from() und Temporal.PlainTime.from().

Spezifikationen

Specification
Temporal
# sec-temporal.plaindatetime.from

Browser-Kompatibilität

Siehe auch