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
bis12
. DD
-
Eine zweistellige Zahl von
01
bis31
. DieYYYY
,MM
undDD
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 wennHH
vorhanden ist. HH
Optional-
Eine zweistellige Zahl von
00
bis23
. Standardmäßig00
. mm
Optional-
Eine zweistellige Zahl von
00
bis59
. Standardmäßig00
. ss.sssssssss
Optional-
Eine zweistellige Zahl von
00
bis59
. Kann optional von einem.
oder,
und einer bis neun Ziffern gefolgt werden. Standardmäßig00
. DieHH
,mm
undss
Komponenten können durch:
oder nichts getrennt werden. Sie können entweder nurss
oder sowohlss
als auchmm
weglassen, sodass die Zeit in einer von drei Formen vorliegen kann:HH
,HH:mm
oderHH: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. DerTemporal
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 dasYYYY-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 anderenTemporal.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 derTemporal.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
bisdaysInWeek
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 (sieheIntl.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 derdaysInYear
. 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
underaYear
identifizieren zusammen eindeutig ein Jahr in einem Kalender, auf die gleiche Weise wieyear
. 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
underaYear
identifizieren zusammen eindeutig ein Jahr in einem Kalender, auf die gleiche Weise wieyear
. 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 dermonthsInYear
. Abhängig vom Kalender. Beachten Sie, dass im Gegensatz zuDate.prototype.getMonth()
der Index 1-basiert ist. Wenn der Kalender Schaltmonate hat, dann kann der Monat mit dem gleichenmonthCode
unterschiedlichemonth
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 vonL
. Wenn der Schaltmonat der erste Monat des Jahres ist, lautet der CodeM00L
. 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, oderundefined
, wenn der Kalender kein gut definiertes Wochensystem hat. Die erste Woche des Jahres ist1
. 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, oderundefined
, 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 dasyearOfWeek
um 1 unterscheidet. Temporal.PlainDateTime.prototype[Symbol.toStringTag]
-
Der Anfangswert der
[Symbol.toStringTag]
Eigenschaft ist der String"Temporal.PlainDateTime"
. Diese Eigenschaft wird inObject.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 durchTemporal.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 durchTemporal.PlainDateTime.from()
umgewandelt werden kann), andernfallsfalse
. 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 durchTemporal.PlainDateTime.compare()
angesehen werden können, aber nicht durchequals()
. 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 durchTemporal.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 durchTemporal.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 vonJSON.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 durchTemporal.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, dassTemporal.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 durchTemporal.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