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
bis12
. DD
-
Eine zweistellige Zahl von
01
bis31
. Die KomponentenYYYY
,MM
undDD
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 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 ein bis neun Ziffern gefolgt werden. Standardmäßig00
. Die KomponentenHH
,mm
undss
können durch:
oder nichts getrennt werden. Sie können entweder nurss
oder sowohlss
als auchmm
weglassen, sodass die Zeit eine von drei Formen haben kann:HH
,HH:mm
oderHH: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. 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 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 anderenTemporal.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 derTemporal.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
bisdaysInWeek
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 (sieheIntl.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 derdaysInYear
. 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
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 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
underaYear
identifizieren zusammen ein Jahr in einem Kalender eindeutig, auf dieselbe Weise wieyear
. [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 dermonthsInYear
. [Kalender]-abhängig. Beachten Sie, dass im Gegensatz zuDate.prototype.getMonth()
, der Index auf 1 basiert. Wenn der Kalender Schaltmonate hat, kann der Monat mit dem gleichenmonthCode
unterschiedlichemonth
-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 vonL
. Wenn der Schaltmonat der erste Monat des Jahres ist, ist der CodeM00L
. 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, oderundefined
, wenn der Kalender kein klar 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 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, oderundefined
, 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 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 dieses Datum und diese Zeit um eine gegebene Dauer (in einer Form, die durchTemporal.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 durchTemporal.PlainDate.from()
konvertierbar ist) im Wert gleichwertig sind, undfalse
andernfalls. Sie werden sowohl nach ihren Datums- als auch Zeitwerten und ihren Kalendern verglichen, sodass zwei Datum-Uhrenzeiten aus verschiedenen Kalendern vonTemporal.PlainDateTime.compare()
als gleich angesehen werden können, aber nicht vonequals()
. 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 durchTemporal.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 durchTemporal.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 durchJSON.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 durchTemporal.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, dassTemporal.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 durchTemporal.PlainTime.from()
konvertierbar ist).
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal-plaindatetime-objects |
Browser-Kompatibilität
BCD tables only load in the browser