Temporal.PlainDate
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.PlainDate
Objekt repräsentiert ein Kalenderdatum (ein Datum ohne Uhrzeit oder Zeitzone); beispielsweise ein Ereignis in einem Kalender, das den ganzen Tag stattfindet, unabhängig davon, in welcher Zeitzone es geschieht. Es wird im Wesentlichen als ISO 8601-Kalenderdatum mit Jahr-, Monat- und Tagesfeldern sowie einem zugehörigen Kalendersystem dargestellt.
Beschreibung
Ein PlainDate
ist im Wesentlichen der Datumsteil eines Temporal.PlainDateTime
Objekts, bei dem die Zeitinformationen entfernt wurden. Da Datums- und Zeitinformationen wenig Interaktion haben, sind alle allgemeinen Informationen über Datumseigenschaften hier dokumentiert.
RFC 9557 Format
PlainDate
Objekte können im RFC 9557 Format, einer Erweiterung des ISO 8601 / RFC 3339 Formats, serialisiert und geparst werden. Die Zeichenkette hat die folgende Form (Leerzeichen sind nur zur Lesbarkeit und sollten in der eigentlichen Zeichenkette nicht vorhanden sein):
YYYY-MM-DD [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
. DieYYYY
,MM
, undDD
Komponenten können durch-
oder nichts getrennt werden. [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 zeigt im Allgemeinen anderen Systemen an, dass es nicht ignoriert werden kann, wenn sie es nicht unterstützen. DerTemporal
Parser wird einen Fehler werfen, wenn die Anmerkungen zwei oder mehr Kalenderanmerkungen enthalten und eine davon kritisch ist. Standardmäßig[u-ca=iso8601]
. Beachten Sie, dass dasYYYY-MM-DD
immer als ISO 8601-Kalenderdatum interpretiert und dann in den angegebenen Kalender umgewandelt wird.
Als Eingabe können Sie optional die Uhrzeit, den Versatz und den Zeitzonen-Identifier im gleichen Format wie bei PlainDateTime
einbeziehen, diese werden jedoch ignoriert. Andere Anmerkungen im [key=value]
Format werden ebenfalls ignoriert und dürfen das kritische Flag nicht haben.
Bei der Serialisierung können Sie konfigurieren, ob die Kalender-ID angezeigt werden soll und ob dafür ein kritisches Flag hinzugefügt werden soll.
Ungültige Datumsbegrenzung
Die Temporal.PlainDate.from()
, Temporal.PlainDate.prototype.with()
, Temporal.PlainDate.prototype.add()
, Temporal.PlainDate.prototype.subtract()
Methoden und ihre Gegenstücke in anderen Temporal
Objekten, erlauben es, Daten mithilfe kalender-spezifischer Eigenschaften zu konstruieren. Die Datumsbestandteile können außerhalb des Bereichs liegen. Im ISO-Kalender ist dies immer ein Überlauf, z.B. wenn der Monat größer als 12 oder der Tag größer als die Anzahl der Tage ist, und es würde nur bedeuten, den Wert auf den maximal zulässigen Wert zu begrenzen. In anderen Kalendern kann der ungültige Fall komplexer sein. Wenn Sie die Option overflow: "constrain"
verwenden, werden ungültige Daten auf folgende Weise auf ein gültiges Datum korrigiert:
- Wenn der Tag nicht existiert, der Monat aber schon: Wählen Sie den nächstgelegenen Tag im gleichen Monat. Wenn es zwei gleich nahestehende Daten in diesem Monat gibt, wählen Sie das spätere.
- Wenn der Monat ein Schaltmonat ist, der im Jahr nicht existiert: Wählen Sie ein anderes Datum gemäß den kulturellen Konventionen der Benutzer dieses Kalenders. Normalerweise wird dies zum gleichen Tag im Monat davor oder danach führen, wo dieser Monat normalerweise in einem Schaltjahr fällt.
- Wenn der Monat aus anderen Gründen im Jahr nicht existiert: Wählen Sie den nächstgelegenen Tag, der noch im gleichen Jahr liegt. Wenn es zwei gleich nahestehende Daten in diesem Jahr gibt, wählen Sie das spätere.
- Wenn das gesamte Jahr nicht existiert: Wählen Sie das nächstgelegene Datum in einem anderen Jahr. Wenn es zwei gleich nahestehende Daten gibt, wählen Sie das spätere.
Konstruktor
Temporal.PlainDate()
Experimentell-
Erstellt ein neues
Temporal.PlainDate
Objekt, indem die zugrunde liegenden Daten direkt angegeben werden.
Statische Methoden
Temporal.PlainDate.compare()
Experimentell-
Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob das erste Datum vor, gleich oder nach dem zweiten Datum liegt. Entspricht dem Vergleich der Jahr-, Monat- und Tagesfelder der zugrunde liegenden ISO 8601 Daten.
Temporal.PlainDate.from()
Experimentell-
Erstellt ein neues
Temporal.PlainDate
Objekt aus einem anderenTemporal.PlainDate
Objekt, einem Objekt mit Datumseigenschaften oder einer RFC 9557 Zeichenkette.
Instanz-Eigenschaften
Diese Eigenschaften sind auf Temporal.PlainDate.prototype
definiert und werden von allen Temporal.PlainDate
Instanzen geteilt.
Temporal.PlainDate.prototype.calendarId
Experimentell-
Gibt einen String zurück, der den Kalender repräsentiert, der verwendet wird, um das interne ISO 8601 Datum zu interpretieren.
Temporal.PlainDate.prototype.constructor
-
Die Konstrukturfunktion, die das Instanzobjekt erstellt hat. Bei
Temporal.PlainDate
Instanzen ist der Anfangswert derTemporal.PlainDate()
Konstruktor. Temporal.PlainDate.prototype.day
Experimentell-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Tag-Index im Monat dieses Datums darstellt, was dieselbe Tagesnummer ist, die Sie auf einem Kalender sehen würden. Kalender-abhängig. Im Allgemeinen beginnt sie bei 1 und ist kontinuierlich, aber nicht immer.
Temporal.PlainDate.prototype.dayOfWeek
Experimentell-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Tag-Index in der Woche dieses Datums darstellt. Tage in einer Woche werden sequenziell von
1
bisdaysInWeek
nummeriert, wobei jede Zahl ihrem Namen zugeordnet wird. Kalender-abhängig. 1 repräsentiert normalerweise Montag im Kalender, auch wenn Orte, die den Kalender verwenden, einen anderen Tag als den ersten Wochentag betrachten können (sieheIntl.Locale.prototype.getWeekInfo()
). Temporal.PlainDate.prototype.dayOfYear
Experimentell-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Tag-Index im Jahr dieses Datums darstellt. Der erste Tag dieses Jahres ist
1
, und der letzte Tag ist derdaysInYear
. Kalender-abhängig. Temporal.PlainDate.prototype.daysInMonth
Experimentell-
Gibt eine positive Ganzzahl zurück, die die Anzahl der Tage im Monat dieses Datums darstellt. Kalender-abhängig.
Temporal.PlainDate.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 sind das immer 7, aber in anderen Kalendersystemen kann es von Woche zu Woche unterschiedlich sein.
Temporal.PlainDate.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 es 365, oder 366 in einem Schaltjahr.
Temporal.PlainDate.prototype.era
Experimentell-
Gibt einen kalender-spezifischen Kleinbuchstaben-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 eindeutig ein Jahr in einem Kalender, in gleicher Weise wieyear
. Kalender-abhängig. Für Gregoria ist es entweder"gregory"
oder"gregory-inverse"
. Temporal.PlainDate.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 ab 1 (häufiger) oder 0, und Jahre in einer Ära können mit der Zeit abnehmen (z. B. Gregorian BCE).era
underaYear
identifizieren zusammen eindeutig ein Jahr in einem Kalender, in gleicher Weise wieyear
. Kalender-abhängig. Temporal.PlainDate.prototype.inLeapYear
Experimentell-
Gibt einen Boolean zurück, der anzeigt, ob dieses Datum in einem Schaltjahr ist. Ein Schaltjahr ist ein Jahr, das mehr Tage hat (aufgrund eines Schaltages oder Schaltmonats) als ein normales Jahr. Kalender-abhängig.
Temporal.PlainDate.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 hat, kann der Monat mit demselbenmonthCode
in unterschiedlichen Jahren unterschiedlichemonth
Indizes haben. Temporal.PlainDate.prototype.monthCode
Experimentell-
Gibt einen kalender-spezifischen String zurück, der den Monat dieses Datums darstellt. Kalender-abhängig. Meistens ist es
M
plus eine zweistellige Monatszahl. Für Schaltmonate ist es der Code des vorherigen Monats, gefolgt vonL
. Wenn der Schaltmonat der erste Monat des Jahres ist, lautet der CodeM00L
. Temporal.PlainDate.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 sind das immer 12, aber in anderen Kalendersystemen kann es unterschiedlich sein.
Temporal.PlainDate.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.PlainDate.prototype.year
Experimentell-
Gibt eine Ganzzahl zurück, die die Anzahl der Jahre dieses Datums relativ zum Beginn eines kalender-spezifischen Epoche-Jahres darstellt. Kalender-abhängig. Normalerweise ist das Jahr 1 entweder das erste Jahr der neuesten Ära oder das ISO 8601 Jahr
0001
. Wenn die Epoche in der Mitte des Jahres liegt, hat dieses Jahr vor und nach dem Startdatum der Ära denselben Wert. Temporal.PlainDate.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. Normalerweise ist das 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, wodurch sich dasyearOfWeek
um 1 unterscheiden kann. Temporal.PlainDate.prototype[Symbol.toStringTag]
-
Der Anfangswert der
[Symbol.toStringTag]
Eigenschaft ist der String"Temporal.PlainDate"
. Diese Eigenschaft wird inObject.prototype.toString()
verwendet.
Instanzmethoden
Temporal.PlainDate.prototype.add()
Experimentell-
Gibt ein neues
Temporal.PlainDate
Objekt zurück, das dieses Datum um eine gegebene Dauer (in einer durchTemporal.Duration.from()
konvertierbaren Form) vorwärts verschoben repräsentiert. Temporal.PlainDate.prototype.equals()
Experimentell-
Gibt
true
zurück, wenn dieses Datum einem anderen Datum wertmäßig entspricht (in einer durchTemporal.PlainDate.from()
konvertierbaren Form), undfalse
andernfalls. Sie werden sowohl durch ihre Datumswerte als auch durch ihre Kalender verglichen. Temporal.PlainDate.prototype.since()
Experimentell-
Gibt ein neues
Temporal.Duration
Objekt zurück, das die Dauer von einem anderen Datum (in einer durchTemporal.PlainDate.from()
konvertierbaren Form) bis zu diesem Datum darstellt. Die Dauer ist positiv, wenn das andere Datum vor diesem Datum liegt, und negativ, wenn es danach liegt. Temporal.PlainDate.prototype.subtract()
Experimentell-
Gibt ein neues
Temporal.PlainDate
Objekt zurück, das dieses Datum um eine gegebene Dauer (in einer durchTemporal.Duration.from()
konvertierbaren Form) rückwärts verschoben repräsentiert. Temporal.PlainDate.prototype.toJSON()
Experimentell-
Gibt einen String zurück, der dieses Datum im gleichen RFC 9557 Format wie der Aufruf von
toString()
darstellt. Soll implizit durchJSON.stringify()
aufgerufen werden. Temporal.PlainDate.prototype.toLocaleString()
Experimentell-
Gibt einen String zurück, der eine sprachsensitivere Darstellung dieses Datums bietet.
Temporal.PlainDate.prototype.toPlainDateTime()
Experimentell-
Gibt ein neues
Temporal.PlainDateTime
Objekt zurück, das dieses Datum und eine angegebene Uhrzeit im gleichen Kalendersystem darstellt. Temporal.PlainDate.prototype.toPlainMonthDay()
Experimentell-
Gibt ein neues
Temporal.PlainMonthDay
Objekt zurück, das denmonthCode
undday
dieses Datums im gleichen Kalendersystem darstellt. Temporal.PlainDate.prototype.toPlainYearMonth()
Experimentell-
Gibt ein neues
Temporal.PlainYearMonth
Objekt zurück, das denyear
undmonth
dieses Datums im gleichen Kalendersystem darstellt. Temporal.PlainDate.prototype.toString()
Experimentell-
Gibt einen String zurück, der dieses Datum im RFC 9557 Format darstellt.
Temporal.PlainDate.prototype.toZonedDateTime()
Experimentell-
Gibt ein neues