Temporal.PlainDateTime

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.

Das Temporal.PlainDateTime-Objekt repräsentiert ein Datum (Kalenderdatum) und eine Uhrzeit (Wanduhr-Zeit) ohne Zeitzone. Es wird grundsätzlich als Kombination aus einem Datum (mit einem zugehörigen Kalendersystem) und einer Zeit dargestellt.

Beschreibung

Ein PlainDateTime ist im Wesentlichen die Kombination aus einer Temporal.PlainDate und einer Temporal.PlainTime. Da die Datums- und Zeitinformationen wenig Interaktion aufweisen, sind alle allgemeinen Informationen zu Datumseigenschaften im PlainDate-Objekt und alle allgemeinen Informationen zu Zeiteigenschaften im PlainTime-Objekt dokumentiert.

Wenn das Datum und die Uhrzeit einen bestimmten Zeitpunkt darstellen sollen, der über Zeitzonen hinweg invariant bleibt, sollten Sie stattdessen das Temporal.ZonedDateTime-Objekt verwenden. Verwenden Sie PlainDateTime, wenn Sie ein Ereignis darstellen müssen, das zu einer bestimmten Wanduhr-Zeit passiert, die in verschiedenen Zeitzonen ein anderer Zeitpunkt sein kann.

RFC 9557-Format

PlainDateTime-Objekte können im RFC 9557-Format serialisiert und geparst werden, eine Erweiterung des ISO 8601 / RFC 3339-Formats. Der String hat folgendes Format (Leerzeichen dienen nur der Lesbarkeit und sollten im tatsächlichen String nicht vorhanden sein):

YYYY-MM-DD T HH:mm:ss.sssssssss [u-ca=calendar_id]
YYYY

Entweder eine vierstellige Zahl oder eine sechsstellige Zahl mit einem + oder - Vorzeichen.

MM

Eine zweistellige Zahl von 01 bis 12.

DD

Eine zweistellige Zahl von 01 bis 31. Die Komponenten YYYY, MM und DD können durch - oder nichts getrennt sein.

T Optional

Der Datums- und Zeittrenner, der T, t oder ein Leerzeichen sein kann. Nur vorhanden, wenn auch HH vorhanden ist.

HH Optional

Eine zweistellige Zahl von 00 bis 23. Standardmäßig 00.

mm Optional

Eine zweistellige Zahl von 00 bis 59. Standardmäßig 00.

ss.sssssssss Optional

Eine zweistellige Zahl von 00 bis 59. Kann optional von einem . oder , und einer bis neun Ziffern gefolgt werden. Standardmäßig 00. Die Komponenten HH, mm und ss können durch : oder nichts getrennt werden. Man kann entweder nur ss oder sowohl ss als auch mm weglassen, so dass die Zeit in einer der drei Formen HH, HH:mm oder HH:mm:ss.sssssssss sein kann.

[u-ca=calendar_id] Optional

Ersetzen Sie calendar_id durch den zu verwendenden Kalender. Kann ein kritisches Flag haben, indem der Schlüssel mit ! vorangestellt wird: z.B. [!u-ca=iso8601]. Dieses Flag weist andere Systeme im Allgemeinen darauf hin, dass es nicht ignoriert werden kann, wenn sie es nicht unterstützen. Der Temporal-Parser wird einen Fehler auslösen, wenn die Anmerkungen zwei oder mehr Kalenderanmerkungen enthalten und eine davon kritisch ist. Standardmäßig [u-ca=iso8601]. Beachten Sie, dass YYYY-MM-DD immer als ISO 8601-Kalenderdatum interpretiert und dann in den angegebenen Kalender umgerechnet wird.

Als Eingabe können Sie optional den Offset und die Zeitzonenkennung im gleichen Format wie bei ZonedDateTime einschließen, aber sie werden ignoriert. Beachten Sie, dass der Offset nicht Z sein darf. Andere Anmerkungen im Format [key=value] werden ebenfalls ignoriert und dürfen das kritische Flag nicht enthalten.

Beim Serialisieren können Sie die Bruchteile der Sekundenziffern konfigurieren, ob die Kalender-ID angezeigt werden soll und ob ein kritisches Flag hinzugefügt werden soll.

Konstruktor

Temporal.PlainDateTime() Experimentell

Erstellt ein neues Temporal.PlainDateTime-Objekt, indem die zugrundeliegenden Daten direkt bereitgestellt werden.

Statische Methoden

Temporal.PlainDateTime.compare() Experimentell

Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob das erste Datum und die Uhrzeit vor, nach oder gleichzeitig mit dem zweiten liegt. Entspricht dem ersten Vergleich ihrer Daten, gefolgt vom Vergleich ihrer Zeiten, wenn die Daten gleich sind.

Temporal.PlainDateTime.from() Experimentell

Erstellt ein neues Temporal.PlainDateTime-Objekt aus einem anderen Temporal.PlainDateTime-Objekt, einem Objekt mit Datums- und Zeiteigenschaften oder einem RFC 9557-String.

Instanz-Eigenschaften

Diese Eigenschaften sind auf Temporal.PlainDateTime.prototype definiert und werden von allen Temporal.PlainDateTime-Instanzen gemeinsam genutzt.

Temporal.PlainDateTime.prototype.calendarId Experimentell

Gibt einen String zurück, der den Kalender darstellt, der zur Interpretation des internen ISO 8601-Datums verwendet wird.

Temporal.PlainDateTime.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für Temporal.PlainDateTime-Instanzen ist der anfängliche Wert der Temporal.PlainDateTime()-Konstruktor.

Temporal.PlainDateTime.prototype.day Experimentell

Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagesindex im Monat dieses Datums darstellt, der derselbe Tag ist, den Sie auf einem Kalender sehen würden. Kalender-abhängig. Beginnt im Allgemeinen bei 1 und ist kontinuierlich, aber nicht immer.

Temporal.PlainDateTime.prototype.dayOfWeek Experimentell

Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagesindex in der Woche dieses Datums darstellt. Tage in einer Woche sind von 1 bis daysInWeek nummeriert, wobei jede Nummer ihrem Namen zugeordnet ist. Kalender-abhängig. 1 repräsentiert normalerweise Montag im Kalender, auch wenn Lokale, die den Kalender verwenden, möglicherweise einen anderen Tag als den ersten Wochentag betrachten (siehe Intl.Locale.prototype.getWeekInfo()).

Temporal.PlainDateTime.prototype.dayOfYear Experimentell

Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagesindex im Jahr dieses Datums darstellt. Der erste Tag dieses Jahres ist 1, und der letzte Tag ist der daysInYear. Kalender-abhängig.

Temporal.PlainDateTime.prototype.daysInMonth Experimentell

Gibt eine positive Ganzzahl zurück, die die Anzahl der Tage im Monat dieses Datums darstellt. Kalender-abhängig.

Temporal.PlainDateTime.prototype.daysInWeek Experimentell

Gibt eine positive Ganzzahl zurück, die die Anzahl der Tage in der Woche dieses Datums darstellt. Kalender-abhängig. Für den ISO 8601-Kalender ist dies immer 7, aber in anderen Kalendersystemen kann es von Woche zu Woche verschieden sein.

Temporal.PlainDateTime.prototype.daysInYear Experimentell

Gibt eine positive Ganzzahl zurück, die die Anzahl der Tage im Jahr dieses Datums darstellt. Kalender-abhängig. Für den ISO 8601-Kalender sind dies 365 oder 366 in einem Schaltjahr.

Temporal.PlainDateTime.prototype.era Experimentell

Gibt einen kalenderspezifischen, kleingeschriebenen String zurück, der die Ära dieses Datums darstellt, oder undefined, wenn der Kalender keine Ären verwendet (z. B. ISO 8601). era und eraYear identifizieren zusammen ein Jahr in einem Kalender eindeutig, auf dieselbe Weise wie year. Kalender-abhängig. Für den Gregorianischen Kalender ist es entweder "gregory" oder "gregory-inverse".

Temporal.PlainDateTime.prototype.eraYear Experimentell

Gibt eine nicht negative Ganzzahl zurück, die das Jahr dieses Datums innerhalb der Ära darstellt, oder undefined, wenn der Kalender keine Ären verwendet (z. B. ISO 8601). Der Jahresindex beginnt normalerweise bei 1 (häufiger) oder 0, und Jahre in einer Ära können mit der Zeit abnehmen (z. B. Gregorianischer vor Christus). era und eraYear identifizieren zusammen ein Jahr in einem Kalender eindeutig, auf dieselbe Weise wie year. Kalender-abhängig.

Temporal.PlainDateTime.prototype.hour Experimentell

Gibt eine Ganzzahl von 0 bis 23 zurück, die die Stundenkomponente dieser Zeit darstellt.

Temporal.PlainDateTime.prototype.inLeapYear Experimentell

Gibt einen Booleschen Wert zurück, der angibt, ob dieses Datum in einem Schaltjahr liegt. Ein Schaltjahr ist ein Jahr, das mehr Tage hat (aufgrund eines Schalttages oder Schaltmonats) als ein normales Jahr. Kalender-abhängig.

Temporal.PlainDateTime.prototype.microsecond Experimentell

Gibt eine Ganzzahl von 0 bis 999 zurück, die die Mikrosekunde (10-6 Sekunde) dieser Zeit darstellt.

Temporal.PlainDateTime.prototype.millisecond Experimentell

Gibt eine Ganzzahl von 0 bis 999 zurück, die die Millisekunde (10-3 Sekunde) dieser Zeit darstellt.

Temporal.PlainDateTime.prototype.minute Experimentell

Gibt eine Ganzzahl von 0 bis 59 zurück, die die Minutenkomponente dieser Zeit darstellt.

Temporal.PlainDateTime.prototype.month Experimentell

Gibt eine positive Ganzzahl zurück, die den 1-basierten Monatsindex im Jahr dieses Datums darstellt. Der erste Monat dieses Jahres ist 1, und der letzte Monat ist der monthsInYear. Kalender-abhängig. Beachten Sie, dass im Gegensatz zu Date.prototype.getMonth() der Index 1-basiert ist. Wenn der Kalender Schaltmonate enthält, kann es sein, dass der Monat mit demselben monthCode unterschiedliche month-Indizes für verschiedene Jahre hat.

Temporal.PlainDateTime.prototype.monthCode Experimentell

Gibt einen kalenderspezifischen String zurück, der den Monat dieses Datums darstellt. Kalender-abhängig. Üblicherweise ist es M plus eine zweistellige Monatsnummer. Für Schaltmonate ist es der Code des vorherigen Monats gefolgt von L. Wenn der Schaltmonat der erste Monat des Jahres ist, ist der Code M00L.

Temporal.PlainDateTime.prototype.monthsInYear Experimentell

Gibt eine positive Ganzzahl zurück, die die Anzahl der Monate im Jahr dieses Datums darstellt. Kalender-abhängig. Für den ISO 8601-Kalender ist dies immer 12, aber in anderen Kalendersystemen kann es unterschiedlich sein.

Temporal.PlainDateTime.prototype.nanosecond Experimentell

Gibt eine Ganzzahl von 0 bis 999 zurück, die die Nanosekunde (10-9 Sekunde) dieser Zeit darstellt.

Temporal.PlainDateTime.prototype.second Experimentell

Gibt eine Ganzzahl von 0 bis 59 zurück, die die Sekundenkomponente dieser Zeit darstellt.

Temporal.PlainDateTime.prototype.weekOfYear Experimentell

Gibt eine positive Ganzzahl zurück, die den 1-basierten Wochenindex im yearOfWeek dieses Datums darstellt, oder undefined, wenn der Kalender kein gut definiertes Wochensystem hat. Die erste Woche des Jahres ist 1. Kalender-abhängig. Beachten Sie, dass für ISO 8601 die ersten und letzten Tage des Jahres der letzten Woche des vorherigen Jahres oder der ersten Woche des nächsten Jahres zugeordnet werden können.

Temporal.PlainDateTime.prototype.year Experimentell

Gibt eine Ganzzahl zurück, die die Anzahl der Jahre dieses Datums relativ zum Anfang eines kalenderspezifischen Epoch-Jahres darstellt. Kalender-abhängig. Üblicherweise ist das Jahr 1 entweder das erste Jahr der letzten Ära oder das ISO 8601-Jahr 0001. Wenn die Epoche mitten im Jahr liegt, hat dieses Jahr denselben Wert vor und nach dem Startdatum der Ära.

Temporal.PlainDateTime.prototype.yearOfWeek Experimentell

Gibt eine Ganzzahl zurück, die das Jahr darstellt, das mit der weekOfYear dieses Datums gepaart werden soll, oder undefined, wenn der Kalender kein gut definiertes Wochensystem hat. Kalender-abhängig. Üblicherweise ist dies das Jahr des Datums, aber für ISO 8601 können die ersten und letzten Tage des Jahres der letzten Woche des vorherigen Jahres oder der ersten Woche des nächsten Jahres zugeordnet werden, was dazu führt, dass sich das yearOfWeek um 1 unterscheidet.

Temporal.PlainDateTime.prototype[Symbol.toStringTag]

Der anfängliche Wert der [Symbol.toStringTag]-Eigenschaft ist der String "Temporal.PlainDateTime". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Instanzmethoden

Temporal.PlainDateTime.prototype.add() Experimentell

Gibt ein neues Temporal.PlainDateTime-Objekt zurück, das diese Datum-Zeit-Darstellung um eine gegebene Dauer (in einer Form, die von Temporal.Duration.from() konvertierbar ist) vorwärts bewegt.

Temporal.PlainDateTime.prototype.equals() Experimentell

Gibt true zurück, wenn diese Datum-Zeit-Darstellung einem anderen Datum und einer anderen Uhrzeit im Wert (in einer Form, die von Temporal.PlainDateTime.from() konvertierbar ist) entspricht, und false sonst. Sie werden sowohl durch ihre Daten- und Zeitwerte als auch durch ihre Kalender verglichen, sodass zwei Datum-Zeit-Darstellungen von verschiedenen Kalendern möglicherweise von Temporal.PlainDateTime.compare() als gleich betrachtet werden, aber nicht von equals().

Temporal.PlainDateTime.prototype.round() Experimentell

Gibt ein neues Temporal.PlainDateTime-Objekt zurück, das diese Datum-Zeit-Darstellung auf die angegebene Einheit gerundet darstellt.

Temporal.PlainDateTime.prototype.since() Experimentell

Gibt ein neues Temporal.Duration-Objekt zurück, das die Dauer von einer anderen Datum-Zeit-Darstellung (in einer Form, die von Temporal.PlainDateTime.from() konvertierbar ist) bis zu dieser Datum-Zeit-Darstellung darstellt. Die Dauer ist positiv, wenn die andere Datum-Zeit-Darstellung vor dieser Datum-Zeit-Darstellung liegt, und negativ, wenn sie danach liegt.

Temporal.PlainDateTime.prototype.subtract() Experimentell

Gibt ein neues Temporal.PlainDateTime-Objekt zurück, das diese Datum-Zeit-Darstellung um eine gegebene Dauer (in einer Form, die von Temporal.Duration.from() konvertierbar ist) rückwärts bewegt.

Temporal.PlainDateTime.prototype.toJSON() Experimentell

Gibt einen String zurück, der diese Datum-Zeit-Darstellung im gleichen RFC 9557-Format wie der Aufruf von toString() darstellt. Soll implizit von JSON.stringify() aufgerufen werden.

Temporal.PlainDateTime.prototype.toLocaleString() Experimentell

Gibt einen String mit einer sprachsensitiven Darstellung dieser Datum-Zeit-Darstellung zurück.

Temporal.PlainDateTime.prototype.toPlainDate() Experimentell

Gibt ein neues Temporal.PlainDate-Objekt zurück, das den Datenteil (Jahr, Monat, Tag) dieser Datum-Zeit-Darstellung im gleichen Kalendersystem darstellt.

Temporal.PlainDateTime.prototype.toPlainTime() Experimentell

Gibt ein neues Temporal.PlainTime-Objekt zurück, das den Zeitteil (Stunde, Minute, Sekunde und Subsekundenkomponenten) dieser Datum-Zeit-Darstellung darstellt.

Temporal.PlainDateTime.prototype.toString() Experimentell

Gibt einen String zurück, der diese Datum-Zeit-Darstellung im RFC 9557-Format darstellt.

Temporal.PlainDateTime.prototype.toZonedDateTime() Experimentell

Gibt eine neue Temporal.ZonedDateTime-Instanz zurück, die dieselbe Datum-Zeit-Darstellung wie diese einfache Datum-Zeit-Darstellung darstellt, aber in der angegebenen Zeitzone.

Temporal.PlainDateTime.prototype.until() Experimentell

Gibt ein neues Temporal.Duration-Objekt zurück, das die Dauer von dieser Datum-Zeit-Darstellung bis zu einer anderen Datum-Zeit-Darstellung (in einer Form, die von Temporal.PlainDateTime.from() konvertierbar ist) darstellt. Die Dauer ist positiv, wenn die andere Datum-Zeit-Darstellung nach dieser Datum-Zeit-Darstellung liegt, und negativ, wenn sie davor liegt.

Temporal.PlainDateTime.prototype.valueOf() Experimentell

Wirft einen TypeError, der verhindert, dass Temporal.PlainDateTime-Instanzen implizit zu Primitiven konvertiert werden, wenn sie in arithmetischen oder Vergleichsoperationen verwendet werden.

Temporal.PlainDateTime.prototype.with() Experimentell

Gibt ein neues Temporal.PlainDateTime-Objekt zurück, das diese Datum-Zeit-Darstellung mit einigen Feldern darstellt, die durch neue Werte ersetzt wurden.

Temporal.PlainDateTime.prototype.withCalendar() Experimentell

Gibt ein neues Temporal.PlainDateTime-Objekt zurück, das diese Datum-Zeit-Darstellung im neuen Kalendersystem interpretiert.

Temporal.PlainDateTime.prototype.withPlainTime() Experimentell

Gibt ein neues Temporal.PlainDateTime-Objekt zurück, das diese Datum-Zeit-Darstellung darstellt, wobei der Zeitteil vollständig durch die neue Zeit ersetzt wurde (in einer Form, die von Temporal.PlainTime.from() konvertierbar ist).

Spezifikationen

Specification
Temporal proposal
# sec-temporal-plaindatetime-objects

Browser-Kompatibilität

Siehe auch