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
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
) oderTemporal.PlainTime.from()
(hour
,minute
,second
,millisecond
,microsecond
,nanosecond
) erkannt werden. Die Info sollte explizit ein Jahr (alsyear
oderera
underaYear
), einen Monat (alsmonth
odermonthCode
) und einen Tag spezifizieren; andere sind optional und werden auf ihre Standardwerte gesetzt.
- Eine
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 oderundefined
.- Die bereitgestellten Eigenschaften sind unzureichend, um ein Datum eindeutig zu bestimmen. Sie müssen normalerweise ein
year
(oderera
underaYear
), einenmonth
(odermonthCode
) und einenday
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
// 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 hinsichtlich verschiedener Kalender und Überlauf-Einstellungen, siehe Temporal.PlainDate.from()
und Temporal.PlainTime.from()
.
Spezifikationen
Specification |
---|
Temporal # sec-temporal.plaindatetime.from |