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 (Ortszeit) ohne Zeitzone. Es wird grundsätzlich als Kombination aus einem Datum (mit einem dazugehörigen Kalendersystem) und einer Uhrzeit dargestellt.

Beschreibung

Ein PlainDateTime ist im Wesentlichen die Kombination aus einem Temporal.PlainDate und einem Temporal.PlainTime. Da die Datums- und Zeitinformationen weitgehend unabhängig voneinander sind, sind alle allgemeinen Informationen zu Datumseigenschaften im PlainDate-Objekt dokumentiert und alle allgemeinen Informationen zu Zeiteigenschaften im PlainTime-Objekt.

Falls das Datum-Zeit einen spezifischen Moment repräsentiert, der über Zeitzonen hinweg invariant bleiben soll, sollten Sie stattdessen das Temporal.ZonedDateTime Objekt verwenden. Verwenden Sie PlainDateTime, wenn Sie ein Ereignis darstellen müssen, das zu einer bestimmten Ortszeit stattfindet, die in verschiedenen Zeitzonen ein anderer Moment 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 folgende Form (Leerzeichen sind nur zur 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 YYYY, MM und DD Komponenten können durch - oder nichts getrennt werden.

T Optional

Der Datum-Zeit Trennzeichen, welcher 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 einer bis neun Ziffern gefolgt werden. Standardmäßig 00. Die HH, mm und ss Komponenten können durch : oder nichts getrennt werden. Sie können entweder nur ss oder sowohl ss als auch mm weglassen, sodass die Zeit in einer von drei Formen vorliegen kann: HH, HH:mm oder HH:mm:ss.sssssssss.

[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 besagt im Allgemeinen anderen Systemen, dass es nicht ignoriert werden kann, wenn sie es nicht unterstützen. Der Temporal Parser wirft einen Fehler, wenn die Anmerkungen zwei oder mehr Kalender-Anmerkungen enthalten und eine davon kritisch ist. Standardmäßig [u-ca=iso8601]. Beachten Sie, dass das YYYY-MM-DD immer als ein ISO 8601 Kalenderdatum interpretiert und dann in den angegebenen Kalender umgewandelt wird.

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

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

Konstruktor

Temporal.PlainDateTime() Experimentell

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

Statische Methoden

Temporal.PlainDateTime.compare() Experimentell

Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob die erste Datum-Zeit vor, gleich oder nach der zweiten Datum-Zeit liegt. Entspricht dem ersten Vergleich ihrer Daten und dann ihrem Zeiten, falls 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 geteilt.

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 Konstrukturfunktion, die das Instanzobjekt erstellt hat. Für Temporal.PlainDateTime Instanzen ist der Anfangswert der Temporal.PlainDateTime() Konstruktor.

Temporal.PlainDateTime.prototype.day Experimentell

Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagindex im Monat dieses Datums darstellt, welcher die gleiche Tagesnummer ist, die Sie auf einem Kalender sehen würden. Kalender-abhängig. Beginnt allgemein bei 1 und ist kontinuierlich, aber nicht immer.

Temporal.PlainDateTime.prototype.dayOfWeek Experimentell

Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagindex in der Woche dieses Datums darstellt. Tage in einer Woche sind nacheinander von 1 bis daysInWeek nummeriert, wobei jede Zahl ihrem Namen entspricht. Kalender-abhängig. 1 repräsentiert in der Regel Montag im Kalender, auch wenn Regionen, die den Kalender verwenden, einen anderen Tag als den ersten Tag der Woche betrachten können (siehe Intl.Locale.prototype.getWeekInfo()).

Temporal.PlainDateTime.prototype.dayOfYear Experimentell

Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagindex 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. Abhängig vom Kalender. Für den ISO 8601 Kalender beträgt diese immer 7, aber in anderen Kalendersystemen kann sie von Woche zu Woche variieren.

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 das 365 oder 366 in einem Schaltjahr.

Temporal.PlainDateTime.prototype.era Experimentell

Gibt einen kalenderspezifischen Kleinbuchstaben-String zurück, der die Epoche dieses Datums darstellt, oder undefined, wenn der Kalender keine Epochen verwendet (z.B. ISO 8601). era und eraYear identifizieren zusammen eindeutig ein Jahr in einem Kalender, auf die gleiche Weise wie year. Abhängig vom Kalender. Für Gregorianisch 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 Epoche darstellt, oder undefined, wenn der Kalender keine Epochen verwendet (z.B. ISO 8601). Der Jahresindex beginnt normalerweise bei 1 (häufiger) oder 0, und Jahre in einer Epoche können mit der Zeit abnehmen (z.B. Gregorianische BCE). era und eraYear identifizieren zusammen eindeutig ein Jahr in einem Kalender, auf die gleiche Weise wie year. Abhängig vom Kalender.

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 anzeigt, ob dieses Datum in einem Schaltjahr liegt. Ein Schaltjahr ist ein Jahr, das mehr Tage (aufgrund eines Schalttages oder Schaltmonats) als ein gewöhnliches Jahr hat. Abhängig vom Kalender.

Temporal.PlainDateTime.prototype.microsecond Experimentell

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

Temporal.PlainDateTime.prototype.millisecond Experimentell

Gibt eine Ganzzahl von 0 bis 999 zurück, die die Millisekundenkomponente (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. Abhängig vom Kalender. Beachten Sie, dass im Gegensatz zu Date.prototype.getMonth() der Index 1-basiert ist. Wenn der Kalender Schaltmonate hat, dann kann der Monat mit dem gleichen monthCode unterschiedliche month Indizes für unterschiedliche Jahre haben.

Temporal.PlainDateTime.prototype.monthCode Experimentell

Gibt einen kalenderspezifischen String zurück, der den Monat dieses Datums repräsentiert. Abhängig vom Kalender. Üblicherweise ist es M plus einer zweistelligen Monatsnummer. Bei Schaltmonaten ist es der Code des vorhergehenden Monats gefolgt von L. Wenn der Schaltmonat der erste Monat des Jahres ist, lautet der Code M00L.

Temporal.PlainDateTime.prototype.monthsInYear Experimentell

Gibt eine positive Ganzzahl zurück, die die Anzahl der Monate im Jahr dieses Datums darstellt. Abhängig vom Kalender. Für den ISO 8601 Kalender beträgt diese immer 12, aber in anderen Kalendersystemen kann sie unterschiedlich sein.

Temporal.PlainDateTime.prototype.nanosecond Experimentell

Gibt eine Ganzzahl von 0 bis 999 zurück, die die Nanosekundenkomponente (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. Abhängig vom Kalender. Beachten Sie, dass für ISO 8601 die ersten und letzten Tage des Jahres der letzten Woche des Vorjahres oder der ersten Woche des folgenden Jahres zugeschrieben werden können.

Temporal.PlainDateTime.prototype.year Experimentell

Gibt eine Ganzzahl zurück, die die Anzahl der Jahre dieses Datums relativ zum Beginn eines kalenderspezifischen Epoche-Jahres darstellt. Abhängig vom Kalender. Üblicherweise ist Jahr 1 entweder das erste Jahr der neuesten Epoche oder das ISO 8601 Jahr 0001. Wenn die Epoche in der Mitte des Jahres liegt, wird dieses Jahr denselben Wert vor und nach dem Startdatum der Epoche haben.

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. Abhängig vom Kalender. Ü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 folgenden Jahres zugeschrieben werden, wodurch sich das yearOfWeek um 1 unterscheidet.

Temporal.PlainDateTime.prototype[Symbol.toStringTag]

Der Anfangswert der [Symbol.toStringTag] Eigenschaft ist der String "Temporal.PlainDateTime". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Instanz-Methoden

Temporal.PlainDateTime.prototype.add() Experimentell

Gibt ein neues Temporal.PlainDateTime Objekt zurück, welches dieses Datum-Zeit darstellt, das um eine gegebene Dauer (in einer Form, die durch Temporal.Duration.from() umgewandelt werden kann) vorwärts bewegt wurde.

Temporal.PlainDateTime.prototype.equals() Experimentell

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

Temporal.PlainDateTime.prototype.round() Experimentell

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

Temporal.PlainDateTime.prototype.since() Experimentell

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

Temporal.PlainDateTime.prototype.subtract() Experimentell

Gibt ein neues Temporal.PlainDateTime Objekt zurück, welches dieses Datum-Zeit darstellt, das um eine gegebene Dauer (in einer Form, die durch Temporal.Duration.from() umgewandelt werden kann) rückwärts bewegt wurde.

Temporal.PlainDateTime.prototype.toJSON() Experimentell

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

Temporal.PlainDateTime.prototype.toLocaleString() Experimentell

Gibt einen String zurück mit einer sprachsensiblen Darstellung dieses Datum-Zeit.

Temporal.PlainDateTime.prototype.toPlainDate() Experimentell

Gibt ein neues Temporal.PlainDate Objekt zurück, welches den Datumsteil (Jahr, Monat, Tag) dieses Datum-Zeit im selben Kalendersystem darstellt.

Temporal.PlainDateTime.prototype.toPlainTime() Experimentell

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

Temporal.PlainDateTime.prototype.toString() Experimentell

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

Temporal.PlainDateTime.prototype.toZonedDateTime() Experimentell

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

Temporal.PlainDateTime.prototype.until() Experimentell

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

Temporal.PlainDateTime.prototype.valueOf() Experimentell

Löst einen TypeError aus, was 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, welches dieses Datum-Zeit darstellt, bei dem einige Felder durch neue Werte ersetzt wurden.

Temporal.PlainDateTime.prototype.withCalendar() Experimentell

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

Temporal.PlainDateTime.prototype.withPlainTime() Experimentell

Gibt ein neues Temporal.PlainDateTime Objekt zurück, welches dieses Datum-Zeit darstellt, bei dem der Zeitteil durch die neue Zeit (in einer Form, die durch Temporal.PlainTime.from() umgewandelt werden kann) vollständig ersetzt wurde.

Spezifikationen

Specification
Temporal proposal
# sec-temporal-plaindatetime-objects

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch