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

Syntax

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

Parameter

info

Eine der folgenden Möglichkeiten:

  • Eine Temporal.PlainDateTime-Instanz, die eine Kopie der Instanz erstellt.
  • Ein RFC 9557-String, der ein Datum, optional eine Uhrzeit 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. 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 angibt, wenn eine Datumskomponente außerhalb des Bereichs liegt (wenn das Objekt info verwendet wird). Mögliche Werte sind:

"constrain" (Standard)

Die Datumskomponente wird auf den gültigen Bereich begrenzt.

"reject"

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

Rückgabewert

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

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 unzureichend, um ein Datum eindeutig zu bestimmen. Sie müssen normalerweise ein year (oder era und eraYear), ein month (oder monthCode) und einen day angeben.
RangeError

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

  • Die bereitgestellten Eigenschaften, die dieselbe Komponente angeben, 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 gültigen Bereichs und options.overflow ist auf "reject" gesetzt.

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 im Hinblick auf verschiedene Kalender und Überlauf-Einstellungen, siehe Temporal.PlainDate.from() und Temporal.PlainTime.from().

Spezifikationen

Specification
Temporal proposal
# sec-temporal.plaindatetime.from

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch