Temporal.PlainDateTime.from()
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more support for this feature? Tell us why.
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-
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 mit Eigenschaften, die entweder von
Temporal.PlainDate.from()(calendar,era,eraYear,year,month,monthCode,day) oder vonTemporal.PlainTime.from()(hour,minute,second,millisecond,microsecond,nanosecond) erkannt werden. Die Informationen sollten explizit ein Jahr (alsyearodereraunderaYear), einen Monat (alsmonthodermonthCode) und einen Tag angeben; andere sind optional und werden auf ihre Standardwerte gesetzt.
- Eine
optionsOptional-
Ein Objekt mit der folgenden Eigenschaft:
overflowOptional-
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 begrenzt auf den gültigen Bereich.
"reject"-
Ein
RangeErrorwird ausgelöst, wenn die Datumskomponente außerhalb des gültigen Bereichs liegt.
Rückgabewert
Ein neues Temporal.PlainDateTime-Objekt, das das Datum und die Zeit darstellt, die durch info im angegebenen calendar angegeben sind.
Ausnahmen
TypeError-
Wird in einem der folgenden Fälle ausgelöst:
infoist kein Objekt oder String.optionsist kein Objekt oderundefined.- Die angegebenen Eigenschaften sind nicht ausreichend, um ein Datum eindeutig zu bestimmen. Sie müssen in der Regel ein
year(odereraunderaYear), einenmonth(odermonthCode) und einendayangeben.
RangeError-
Wird in einem der folgenden Fälle ausgelöst:
- Die angegebenen Eigenschaften, die die gleiche Komponente spezifizieren, sind inkonsistent.
- Die angegebenen nicht-numerischen Eigenschaften sind ungültig; zum Beispiel, wenn
monthCodekein gültiger Monatscode in diesem Kalender ist. - Die angegebenen numerischen Eigenschaften liegen außerhalb des gültigen Bereichs und
options.overflowist auf"reject"gesetzt. - Die Informationen liegen nicht im darstellbaren Bereich, der ±(108 + 1) Tage oder etwa ±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 bezüglich unterschiedlicher Kalender und Überlaufeinstellungen, siehe Temporal.PlainDate.from() und Temporal.PlainTime.from().
Spezifikationen
| Spezifikation |
|---|
| Temporal> # sec-temporal.plaindatetime.from> |