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
bis12
. DD
-
Eine zweistellige Zahl von
01
bis31
. Die KomponentenYYYY
,MM
undDD
können durch-
oder nichts getrennt sein. T
Optional-
Der Datums- und Zeittrenner, der
T
,t
oder ein Leerzeichen sein kann. Nur vorhanden, wenn auchHH
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
. Die KomponentenHH
,mm
undss
können durch:
oder nichts getrennt werden. Man kann entweder nurss
oder sowohlss
als auchmm
weglassen, so dass die Zeit in einer der drei FormenHH
,HH:mm
oderHH: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. DerTemporal
-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, dassYYYY-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 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 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 derTemporal.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
bisdaysInWeek
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 (sieheIntl.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 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. 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
underaYear
identifizieren zusammen ein Jahr in einem Kalender eindeutig, auf dieselbe Weise wieyear
. 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
underaYear
identifizieren zusammen ein Jahr in einem Kalender eindeutig, auf dieselbe Weise wieyear
. 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 dermonthsInYear
. Kalender-abhängig. Beachten Sie, dass im Gegensatz zuDate.prototype.getMonth()
der Index 1-basiert ist. Wenn der Kalender Schaltmonate enthält, kann es sein, dass der Monat mit demselbenmonthCode
unterschiedlichemonth
-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 vonL
. Wenn der Schaltmonat der erste Monat des Jahres ist, ist der CodeM00L
. 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, oderundefined
, wenn der Kalender kein gut definiertes Wochensystem hat. Die erste Woche des Jahres ist1
. 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, oderundefined
, 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 dasyearOfWeek
um 1 unterscheidet. Temporal.PlainDateTime.prototype[Symbol.toStringTag]
-
Der anfängliche Wert der
[Symbol.toStringTag]
-Eigenschaft ist der String"Temporal.PlainDateTime"
. Diese Eigenschaft wird inObject.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 vonTemporal.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 vonTemporal.PlainDateTime.from()
konvertierbar ist) entspricht, undfalse
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 vonTemporal.PlainDateTime.compare()
als gleich betrachtet werden, aber nicht vonequals()
. 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 vonTemporal.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 vonTemporal.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 vonJSON.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 vonTemporal.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, 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, 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 vonTemporal.PlainTime.from()
konvertierbar ist).
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal-plaindatetime-objects |