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
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
) oderTemporal.PlainTime.from()
(hour
,minute
,second
,millisecond
,microsecond
,nanosecond
) erkannt werden.Info
sollte ausdrücklich ein Jahr (alsyear
oderera
underaYear
), einen Monat (alsmonth
odermonthCode
) und einen Tag angeben; andere sind optional und werden auf ihre Standardwerte gesetzt.
- Eine Instanz von
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 oderundefined
.- Die bereitgestellten Eigenschaften reichen nicht aus, um ein Datum eindeutig zu bestimmen. In der Regel müssen Sie ein
year
(oderera
underaYear
),month
(odermonthCode
) undday
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
// 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
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 GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
from |
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.