Temporal.PlainDate
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Das Temporal.PlainDate Objekt repräsentiert ein Kalenderdatum (ein Datum ohne Zeit oder Zeitzone); zum Beispiel ein Ereignis auf einem Kalender, das den ganzen Tag über stattfindet, unabhängig davon, in welcher Zeitzone es passiert. Es wird grundlegend als ein ISO 8601-Kalenderdatum dargestellt, mit Jahr, Monat und Tag Feldern und einem zugehörigen Kalendersystem.
Beschreibung
Ein PlainDate ist im Wesentlichen der Datumsteil eines Temporal.PlainDateTime Objekts, wobei die Zeitinformation entfernt wurde. Da das Datum und die Zeitinformationen wenig Interaktion aufweisen, werden alle allgemeinen Informationen über Datumeigenschaften hier dokumentiert.
RFC 9557 Format
PlainDate Objekte können mit dem RFC 9557 Format, einer Erweiterung des ISO 8601 / RFC 3339 Formats, serialisiert und geparst werden. Der String hat die folgende Form (Leerzeichen dienen nur der Lesbarkeit und sollten im eigentlichen String 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
01bis12. DD-
Eine zweistellige Zahl von
01bis31. DieYYYY,MMundDDKomponenten können durch-oder nichts getrennt werden. [u-ca=calendar_id]Optional-
Ersetzen Sie
calendar_iddurch den zu verwendenden Kalender. SieheIntl.supportedValuesOf()für eine Liste der häufig unterstützten Kalendertypen. Standardmäßig[u-ca=iso8601]. Kann ein kritisches Flag haben, indem der Schlüssel mit!vorangestellt wird: z.B.[!u-ca=iso8601]. Dieses Flag signalisiert anderen Systemen im Allgemeinen, dass es nicht ignoriert werden kann, wenn sie es nicht unterstützen. DerTemporalParser wirft einen Fehler, wenn die Anmerkungen zwei oder mehr Kalenderanmerkungen enthalten und eine davon kritisch ist. Beachten Sie, dass dasYYYY-MM-DDimmer als ISO 8601 Kalenderdatum interpretiert und dann in den angegebenen Kalender umgewandelt wird.
Als Eingabe können Sie optional die Zeit, den Offset und die Zeitzonenkennung in demselben Format wie beim PlainDateTime angeben, aber sie werden ignoriert. Andere Anmerkungen im [key=value] Format werden ebenfalls ignoriert, und sie dürfen das kritische Flag nicht haben.
Beim Serialisieren können Sie konfigurieren, ob die Kalender-ID angezeigt werden soll und ob ein kritisches Flag hinzugefügt werden soll.
Ungültige Datumsbeschränkung
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 ermöglichen den Aufbau von Daten mit kalenderspezifischen Eigenschaften. Die Datumskomponenten können außerhalb des Bereichs liegen. Im ISO-Kalender ist dies immer ein Überlauf, wie z.B. der Monat ist größer als 12 oder der Tag ist größer als die Anzahl der Tage, und die Korrektur würde nur das Clamping des Wertes auf den maximal zulässigen Wert erfordern. In anderen Kalendern kann der ungültige Fall komplexer sein. Bei Verwendung der Option overflow: "constrain" werden ungültige Daten auf folgende Weise behoben:
- Wenn der Tag nicht existiert, der Monat jedoch: Wählen Sie den nächstgelegenen Tag im gleichen Monat. Wenn es zwei gleich nahegelegene 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. Dies führt in der Regel zum gleichen Tag im Monat davor oder danach, wo dieser Monat normalerweise in einem Schaltjahr fällt.
- Wenn der Monat aus anderen Gründen im Jahr nicht existiert: Wählen Sie das nächstgelegene Datum, das noch im selben Jahr liegt. Wenn es zwei gleich nahegelegene 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 nahegelegene Daten gibt, wählen Sie das spätere.
Konstruktor
Temporal.PlainDate()Experimentell-
Erstellt ein neues
Temporal.PlainDateObjekt, indem die zugrunde liegenden Daten direkt bereitgestellt werden.
Statische Methoden
Temporal.PlainDate.compare()-
Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob das erste Datum vor dem zweiten Datum liegt, mit ihm identisch ist oder danach kommt. Entspricht dem Vergleich der Jahr-, Monat- und Tagesfelder der zugrundeliegenden ISO 8601-Daten.
Temporal.PlainDate.from()-
Erstellt ein neues
Temporal.PlainDateObjekt aus einem anderenTemporal.PlainDateObjekt, einem Objekt mit Datumseigenschaften oder einem RFC 9557 String.
Instanz-Eigenschaften
Diese Eigenschaften sind auf Temporal.PlainDate.prototype definiert und werden von allen Temporal.PlainDate Instanzen geteilt.
Temporal.PlainDate.prototype.calendarId-
Gibt einen String zurück, der den Kalender darstellt, der verwendet wird, um das interne ISO 8601-Datum zu interpretieren.
Temporal.PlainDate.prototype.constructor-
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
Temporal.PlainDateInstanzen ist der Anfangswert derTemporal.PlainDate()Konstruktor. Temporal.PlainDate.prototype.day-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagindex im Monat dieses Datums darstellt, was 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.PlainDate.prototype.dayOfWeek-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagindex in der Woche dieses Datums darstellt. Die Tage in einer Woche sind fortlaufend von
1bisdaysInWeeknummeriert, wobei jede Zahl ihrem Namen zugeordnet ist. Kalender-abhängig. 1 repräsentiert normalerweise Montag im Kalender, selbst wenn Lokale, die den Kalender verwenden, möglicherweise einen anderen Tag als ersten Tag der Woche betrachten (sieheIntl.Locale.prototype.getWeekInfo()). Temporal.PlainDate.prototype.dayOfYear-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagindex im Jahr dieses Datums darstellt. Der erste Tag dieses Jahres ist
1und der letzte Tag ist derdaysInYear. Kalender-abhängig. Temporal.PlainDate.prototype.daysInMonth-
Gibt eine positive Ganzzahl zurück, die die Anzahl der Tage im Monat dieses Datums darstellt. Kalender-abhängig.
Temporal.PlainDate.prototype.daysInWeek-
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 es immer 7, aber in anderen Kalendersystemen kann es von Woche zu Woche unterschiedlich sein.
Temporal.PlainDate.prototype.daysInYear-
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-
Gibt einen kalenderspezifischen Kleinbuchstaben-String zurück, der die Ära dieses Datums darstellt, oder
undefined, wenn der Kalender keine Ären verwendet (z.B. ISO 8601).eraunderaYearidentifizieren zusammen eine Jahreszahl in einem Kalender eindeutig, genauso wieyear. Kalender-abhängig. Für Gregorianisch ist es entweder"ce"oder"bce". Temporal.PlainDate.prototype.eraYear-
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 die Jahre in einer Ära können mit der Zeit abnehmen (z.B. Gregorianisch v. Chr.).eraunderaYearidentifizieren zusammen eine Jahreszahl in einem Kalender eindeutig, genauso wieyear. Kalender-abhängig. Temporal.PlainDate.prototype.inLeapYear-
Gibt einen booleschen Wert zurück, der anzeigt, ob dieses Datum in einem Schaltjahr liegt. Ein Schaltjahr ist ein Jahr, das mehr Tage (durch einen Schalttag oder einen Schaltmonat) als ein gewöhnliches Jahr hat. Kalender-abhängig.
Temporal.PlainDate.prototype.month-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Monatsindex im Jahr dieses Datums darstellt. Der erste Monat dieses Jahres ist
1und 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 dem gleichenmonthCodeunterschiedlichemonthIndizes für verschiedene Jahre haben. Temporal.PlainDate.prototype.monthCode-
Gibt einen kalenderspezifischen String zurück, der den Monat dieses Datums darstellt. Kalender-abhängig. Normalerweise ist es
Mplus eine zweistellige Monatszahl. 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.PlainDate.prototype.monthsInYear-
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 es immer 12, aber in anderen Kalendersystemen kann es variieren.
Temporal.PlainDate.prototype.weekOfYear-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Wochenindex im
yearOfWeekdieses 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-
Gibt eine Ganzzahl zurück, die die Anzahl der Jahre dieses Datums relativ zum Beginn eines kalenderspezifischen Epoche-Jahres darstellt. Kalender-abhängig. Normalerweise ist Jahr 1 entweder das erste Jahr der neuesten Ä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.PlainDate.prototype.yearOfWeek-
Gibt eine Ganzzahl zurück, die das Jahr darstellt, das mit dem
weekOfYeardieses Datums gepaart werden soll, oderundefined, wenn der Kalender kein gut definiertes Wochensystem hat. Kalender-abhängig. Normalerweise 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, wodurch sich dasyearOfWeekum 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()-
Gibt ein neues
Temporal.PlainDateObjekt zurück, das dieses Datum darstellt, verschoben um eine angegebene Dauer (in einer Form, die durchTemporal.Duration.from()umgewandelt werden kann). Temporal.PlainDate.prototype.equals()-
Gibt
truezurück, wenn dieses Datum in seinem Wert einem anderen Datum entspricht (in einer Form, die durchTemporal.PlainDate.from()umgewandelt werden kann), undfalseandernfalls. Sie werden sowohl durch ihre Datumswerte als auch ihre Kalender verglichen. Temporal.PlainDate.prototype.since()-
Gibt ein neues
Temporal.DurationObjekt zurück, das die Dauer von einem anderen Datum (in einer Form, die durchTemporal.PlainDate.from()umgewandelt werden kann) 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()-
Gibt ein neues
Temporal.PlainDateObjekt zurück, das dieses Datum darstellt, rückwärts verschoben um eine angegebene Dauer (in einer Form, die durchTemporal.Duration.from()umgewandelt werden kann). Temporal.PlainDate.prototype.toJSON()-
Gibt einen String zurück, der dieses Datum im selben RFC 9557 Format wie beim Aufrufen von
toString()darstellt. Soll implizit vonJSON.stringify()aufgerufen werden. Temporal.PlainDate.prototype.toLocaleString()-
Gibt einen String zurück, der eine sprachsensitive Darstellung dieses Datums enthält.
Temporal.PlainDate.prototype.toPlainDateTime()-
Gibt ein neues
Temporal.PlainDateTimeObjekt zurück, das dieses Datum und eine bereitgestellte Zeit im selben Kalendersystem darstellt. Temporal.PlainDate.prototype.toPlainMonthDay()-
Gibt ein neues
Temporal.PlainMonthDayObjekt zurück, das diemonthCodeunddaydieses Datums im selben Kalendersystem darstellt. Temporal.PlainDate.prototype.toPlainYearMonth()-
Gibt ein neues
Temporal.PlainYearMonthObjekt zurück, das dieyearundmonthdieses Datums im selben Kalendersystem darstellt. Temporal.PlainDate.prototype.toString()-
Gibt einen String zurück, der dieses Datum im RFC 9557 Format darstellt.
Temporal.PlainDate.prototype.toZonedDateTime()-
Gibt ein neues
Temporal.ZonedDateTimeObjekt zurück, das dieses Datum, eine bereitgestellte Zeit und eine bereitgestellte Zeitzone im selben Kalendersystem darstellt. Temporal.PlainDate.prototype.until()-
Gibt ein neues
Temporal.DurationObjekt zurück, das die Dauer von diesem Datum zu einem anderen Datum (in einer Form, die durchTemporal.Instant.from()umgewandelt werden kann) darstellt. Die Dauer ist positiv, wenn das andere Datum nach diesem Datum ist, und negativ, wenn es davor ist. Temporal.PlainDate.prototype.valueOf()-
Wirft einen
TypeError, der verhindert, dassTemporal.PlainDateInstanzen implizit in Primitive umgewandelt werden, wenn sie in arithmetischen oder Vergleichsoperationen verwendet werden. Temporal.PlainDate.prototype.with()-
Gibt ein neues
Temporal.PlainDateObjekt zurück, das dieses Datum mit einigen Feldern darstellt, die durch neue Werte ersetzt wurden. Temporal.PlainDate.prototype.withCalendar()-
Gibt ein neues
Temporal.PlainDateObjekt zurück, das dieses Datum im neuen Kalendersystem interpretiert.
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal-plaindate-objects> |