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
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
) 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 angeben; 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 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 oderundefined
.- Die bereitgestellten Eigenschaften sind nicht ausreichend, um ein Datum eindeutig zu bestimmen. Normalerweise müssen Sie 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; 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
// 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 bezüglich verschiedener Kalender und Einstellungen zum Überlauf, siehe Temporal.PlainDate.from()
und Temporal.PlainTime.from()
.
Spezifikationen
Specification |
---|
Temporal # sec-temporal.plaindatetime.from |