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 (Wanduhrzeit) ohne Zeitzone. Es wird grundsätzlich als Kombination eines Datums (mit einem zugehörigen Kalendersystem) und einer Uhrzeit dargestellt.

Beschreibung

Ein PlainDateTime ist im Wesentlichen die Kombination aus einem Temporal.PlainDate und einem Temporal.PlainTime. Da Datum und Uhrzeit nicht viel interagieren, sind alle allgemeinen Informationen zu Datums-Eigenschaften im PlainDate-Objekt dokumentiert und alle allgemeinen Informationen zu Zeit-Eigenschaften im PlainTime-Objekt.

Wenn das Datum und die Uhrzeit einen bestimmten Zeitpunkt repräsentieren, der über Zeitzonen hinweg unverändert bleiben soll, sollten Sie stattdessen das Temporal.ZonedDateTime-Objekt verwenden. Verwenden Sie PlainDateTime, wenn Sie ein Ereignis darstellen müssen, das zu einer bestimmten Uhrzeit passiert, die in verschiedenen Zeitzonen zu unterschiedlichen Zeitpunkten 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 die folgende Form (Leerzeichen dienen nur der Lesbarkeit und sollten im eigentlichen 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 - Zeichen.

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 werden.

T Optional

Der Datums-Zeit-Trenner, der T, t oder ein Leerzeichen sein kann. Vorhanden, wenn und nur wenn 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 ein bis neun Ziffern gefolgt werden. Standardmäßig 00. Die Komponenten HH, mm und ss können durch : oder nichts getrennt werden. Sie können entweder nur ss oder sowohl ss als auch mm weglassen, sodass die Zeit eine von drei Formen haben kann: HH, HH:mm oder HH:mm:ss.sssssssss.

[u-ca=calendar_id] Optional

Ersetzen Sie calendar_id durch den Kalender, der verwendet werden soll. Kann ein kritisches Flag haben, indem der Schlüssel mit ! vorangestellt wird: z.B. [!u-ca=iso8601]. Dieses Flag teilt anderen Systemen im Allgemeinen mit, 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 konvertiert wird.

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

Beim Serialisieren können Sie die Bruchteilstellentang von Sekunden, ob die Kalender-ID angezeigt wird, und ob ein kritisches Flag hinzugefügt wird, konfigurieren.

Konstruktor

Temporal.PlainDateTime() Experimentell

Erzeugt ein neues Temporal.PlainDateTime-Objekt, indem direkt die zugrunde liegenden Daten bereitgestellt werden.

Statische Methoden

Temporal.PlainDateTime.compare() Experimentell

Gibt eine Zahl zurück (-1, 0 oder 1), die angibt, ob das erste Datum vor, gleich oder nach dem zweiten Datum liegt. Entspricht zuerst dem Vergleich ihrer Daten und dann, falls die Daten gleich sind, dem Vergleich ihrer Zeiten.

Temporal.PlainDateTime.from() Experimentell

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

Instanzeigenschaften

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 verwendet wird, um das interne ISO 8601-Datum zu interpretieren.

Temporal.PlainDateTime.prototype.constructor

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

Temporal.PlainDateTime.prototype.day Experimentell

Gibt eine positive ganze Zahl zurück, die den auf 1 basierenden Tagesindex im Monat dieses Datums darstellt, der die gleiche Tagesnummer ist, die 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 ganze Zahl zurück, die den auf 1 basierenden Tagesindex in der Woche dieses Datums darstellt. Tage in einer Woche werden fortlaufend von 1 bis daysInWeek nummeriert, wobei jede Zahl ihrem Namen zugeordnet ist. Kalender-abhängig. 1 repräsentiert normalerweise Montag im Kalender, auch wenn Kalender, die den Kalender verwenden, einen anderen Tag als ersten Wochentag betrachten können (siehe Intl.Locale.prototype.getWeekInfo()).

Temporal.PlainDateTime.prototype.dayOfYear Experimentell

Gibt eine positive ganze Zahl zurück, die den auf 1 basierenden 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 ganze Zahl zurück, die die Anzahl der Tage im Monat dieses Datums darstellt. Kalender-abhängig.

Temporal.PlainDateTime.prototype.daysInWeek Experimentell

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

Temporal.PlainDateTime.prototype.daysInYear Experimentell

Gibt eine positive ganze Zahl 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 Kleinbuchstabenstring 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 ganze Zahl 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. Gregorianisches v. Chr.). 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 ganze Zahl 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 (aufgrund eines Schalttages oder Schaltmonats) als ein Gemeinjahr hat. [Kalender]-abhängig.

Temporal.PlainDateTime.prototype.microsecond Experimentell

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

Temporal.PlainDateTime.prototype.millisecond Experimentell

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

Temporal.PlainDateTime.prototype.minute Experimentell

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

Temporal.PlainDateTime.prototype.month Experimentell

Gibt eine positive ganze Zahl zurück, die den auf 1 basierenden 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 auf 1 basiert. Wenn der Kalender Schaltmonate hat, kann der Monat mit dem gleichen monthCode unterschiedliche month-Indizes für verschiedene Jahre haben.

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 ganze Zahl zurück, die die Anzahl der Monate im Jahr dieses Datums darstellt. [Kalender]-abhängig. Für den ISO 8601-Kalender sind dies immer 12, aber in anderen Kalendersystemen kann es abweichen.

Temporal.PlainDateTime.prototype.nanosecond Experimentell

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

Temporal.PlainDateTime.prototype.second Experimentell

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

Temporal.PlainDateTime.prototype.weekOfYear Experimentell

Gibt eine positive ganze Zahl zurück, die den auf 1 basierenden Wochenindex im yearOfWeek dieses Datums darstellt, oder undefined, wenn der Kalender kein klar 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 Vorjahres oder der ersten Woche des nächsten Jahres zugerechnet werden können.

Temporal.PlainDateTime.prototype.year Experimentell

Gibt eine ganze Zahl zurück, die die Anzahl der Jahre dieses Datums im Verhältnis zum Beginn eines kalenderspezifischen Epoch-Jahres darstellt. [Kalender]-abhängig. Üblicherweise ist Jahr 1 entweder das erste Jahr der neuesten Ära oder das ISO 8601 Jahr 0001. Wenn die Epoche in der Mitte des Jahres ist, hat dieses Jahr denselben Wert vor und nach dem Startdatum der Ära.

Temporal.PlainDateTime.prototype.yearOfWeek Experimentell

Gibt eine ganze Zahl zurück, die das Jahr darstellt, das mit der weekOfYear dieses Datums kombiniert wird, oder undefined, wenn der Kalender kein klar 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 Vorjahres oder der ersten Woche des nächsten Jahres zugerechnet werden, wodurch 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 dieses Datum und diese Zeit um eine gegebene Dauer (in einer Form, die durch Temporal.Duration.from() konvertierbar ist) verschoben darstellt.

Temporal.PlainDateTime.prototype.equals() Experimentell

Gibt true zurück, wenn dieses Datum und diese Zeit einem anderen Datum und einer anderen Zeit (in einer Form, die durch Temporal.PlainDate.from() konvertierbar ist) im Wert gleichwertig sind, und false andernfalls. Sie werden sowohl nach ihren Datums- als auch Zeitwerten und ihren Kalendern verglichen, sodass zwei Datum-Uhrenzeiten aus verschiedenen Kalendern von Temporal.PlainDateTime.compare() als gleich angesehen werden können, aber nicht von equals().

Temporal.PlainDateTime.prototype.round() Experimentell

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

Temporal.PlainDateTime.prototype.since() Experimentell

Gibt ein neues Temporal.Duration-Objekt zurück, das die Dauer von einem anderen Datum-Uhrzeit (in einer Form, die durch Temporal.PlainDateTime.from() konvertierbar ist) zu diesem Datum-Uhrzeit darstellt. Die Dauer ist positiv, wenn das andere Datum-Uhrzeit vor diesem Datum-Uhrzeit liegt, und negativ, wenn es danach liegt.

Temporal.PlainDateTime.prototype.subtract() Experimentell

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

Temporal.PlainDateTime.prototype.toJSON() Experimentell

Gibt einen String zurück, der dieses Datum und diese Zeit im gleichen RFC 9557-Format darstellt wie ein Aufruf von toString(). Beabsichtigt zur impliziten Verwendung durch JSON.stringify().

Temporal.PlainDateTime.prototype.toLocaleString() Experimentell

Gibt einen String mit einer sprachensensitiven Darstellung dieses Datum-Uhrzeit-Paares zurück.

Temporal.PlainDateTime.prototype.toPlainDate() Experimentell

Gibt ein neues Temporal.PlainDate-Objekt zurück, das den Datumsteil (Jahr, Monat, Tag) dieses Datum-Uhrzeit-Paares im gleichen Kalendersystem darstellt.

Temporal.PlainDateTime.prototype.toPlainTime() Experimentell

Gibt ein neues Temporal.PlainTime-Objekt zurück, das den Zeitteil (Stunde, Minute, Sekunde und Untersekundenkomponenten) dieses Datum-Uhrzeit-Paares darstellt.

Temporal.PlainDateTime.prototype.toString() Experimentell

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

Temporal.PlainDateTime.prototype.toZonedDateTime() Experimentell

Gibt eine neue Temporal.ZonedDateTime-Instanz zurück, die dasselbe Datum und dieselbe Zeit wie dieses einfache Datum-Uhrzeit-Paar darstellt, jedoch in der angegebenen Zeitzone.

Temporal.PlainDateTime.prototype.until() Experimentell

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

Temporal.PlainDateTime.prototype.valueOf() Experimentell

Wirft einen TypeError, was verhindert, dass Temporal.PlainDateTime-Instanzen implizit in primitive Werte 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-Uhrzeit mit einigen Feldern repräsentiert, die durch neue Werte ersetzt wurden.

Temporal.PlainDateTime.prototype.withCalendar() Experimentell

Gibt ein neues Temporal.PlainDateTime-Objekt zurück, das dieses Datum-Uhrzeit-Paar im neuen Kalendersystem interpretiert darstellt.

Temporal.PlainDateTime.prototype.withPlainTime() Experimentell

Gibt ein neues Temporal.PlainDateTime-Objekt zurück, das dieses Datum-Uhrzeit-Paar mit dem Zeitteil vollständig durch die neue Zeit ersetzt darstellt (in einer Form, die durch Temporal.PlainTime.from() konvertierbar ist).

Spezifikationen

Specification
Temporal proposal
# sec-temporal-plaindatetime-objects

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch