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 Zeiteigenschaften oder einem RFC 9557 String.

Syntax

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

Parameter

info

Einer der folgenden:

  • Eine Instanz von Temporal.PlainDateTime, die eine Kopie der Instanz erstellt.
  • Ein RFC 9557 String, der ein Datum enthält, optional eine Uhrzeit und optional einen Kalender.
  • 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 ausdrücklich 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 mit der folgenden Eigenschaft:

overflow Optional

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

"constrain" (Standard)

Die Datumskomponente wird auf den gültigen Bereich beschränkt.

"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 durch info angegebene Datum und die Uhrzeit im angegebenen calendar darstellt.

Ausnahmen

TypeError

Ausgelöst in einem der folgenden Fälle:

  • info ist kein Objekt oder String.
  • options ist kein Objekt oder undefined.
  • Die bereitgestellten Eigenschaften reichen nicht aus, um ein Datum eindeutig zu bestimmen. In der Regel müssen Sie ein year (oder era und eraYear), month (oder monthCode) und day angeben.
RangeError

Ausgelöst in einem der folgenden Fälle:

  • Die bereitgestellten Eigenschaften, die dieselbe Komponente angeben, sind inkonsistent.
  • Die bereitgestellten nicht-numerischen Eigenschaften sind nicht gültig; zum Beispiel, wenn monthCode niemals ein gültiger Monatscode in diesem Kalender ist.
  • Die bereitgestellten numerischen Eigenschaften sind außerhalb des gültigen Bereichs und options.overflow ist auf "reject" gesetzt.
  • Die Information ist nicht im darstellbaren Bereich, der ±(108 + 1) Tage oder ungefähr ±273.972,6 Jahre ab der Unix-Epoche umfasst.

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 in Bezug auf verschiedene Kalender und "overflow"-Einstellungen, siehe Temporal.PlainDate.from() und Temporal.PlainTime.from().

Spezifikationen

Specification
Temporal proposal
# sec-temporal.plaindatetime.from

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
from
Experimental

Legend

Tip: you can click/tap on a cell for more information.

No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.

Siehe auch