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
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
) oderTemporal.PlainTime.from()
(hour
,minute
,second
,millisecond
,microsecond
,nanosecond
) erkannt werden.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 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 oderundefined
.- Die bereitgestellten Eigenschaften sind unzureichend, um ein Datum eindeutig zu bestimmen. Sie müssen normalerweise ein
year
(oderera
underaYear
), einmonth
(odermonthCode
) und einenday
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
// 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 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