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 Uhrzeit oder Zeitzone); zum Beispiel ein Ereignis in einem Kalender, das den ganzen Tag über stattfindet, unabhängig von der Zeitzone. Es wird grundsätzlich als ISO-8601-Kalenderdatum dargestellt, mit den Feldern Jahr, Monat und Tag sowie einem zugehörigen Kalendersystem.
Beschreibung
Ein PlainDate ist im Wesentlichen der Datumsanteil eines Temporal.PlainDateTime-Objekts, bei dem die Zeitinformationen entfernt wurden. Da Datum und Zeitinformationen wenig Interaktion haben, sind alle allgemeinen Informationen zu Datumeigenschaften hier dokumentiert.
RFC 9557 Format
PlainDate-Objekte können im RFC 9557-Format serialisiert und geparst werden, einer Erweiterung des ISO 8601 / RFC 3339-Formats. Der String hat folgende Form (Leerzeichen dienen nur der Lesbarkeit und sollten im tatsächlichen 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. Die KomponentenYYYY,MMundDDkö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 häufig unterstützter Kalendertypen. Standardmäßig[u-ca=iso8601]. Kann ein kritisches Flag durch Voranstellen des Schlüssels mit!haben: 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 Annotationen zwei oder mehr Kalenderanmerkungen enthalten und eine davon kritisch ist. Beachten Sie, dassYYYY-MM-DDimmer als ISO-8601-Kalenderdatum interpretiert wird und dann in den angegebenen Kalender umgewandelt wird.
Als Eingabe können Sie optional die Zeit, den Offset und die Zeitzonenkennung im gleichen Format wie PlainDateTime einschließen, aber sie werden ignoriert. Andere Annotationen im [key=value]-Format werden ebenfalls ignoriert und dürfen nicht das kritische Flag haben.
Bei der Serialisierung können Sie konfigurieren, ob die Kalender-ID angezeigt werden soll und ob ihr ein kritisches Flag hinzugefügt werden soll.
Ungültiges Datum Klammerung
Die Methoden Temporal.PlainDate.from(), Temporal.PlainDate.prototype.with(), Temporal.PlainDate.prototype.add(), Temporal.PlainDate.prototype.subtract(), und ihre Gegenstücke in anderen Temporal-Objekten, erlauben den Aufbau von Daten unter Verwendung kalenderspezifischer Eigenschaften. Die Datumskomponenten können außerhalb des Bereichs liegen. Im ISO-Kalender handelt es sich dabei immer um einen Overflow, wie wenn der Monat größer als 12 oder der Tag größer als die Anzahl der Tage ist, und die Behebung würde lediglich darin bestehen, den Wert auf den maximal erlaubten Wert zu begrenzen. In anderen Kalendern kann der ungültige Fall komplexer sein. Bei Verwendung der Option overflow: "constrain" werden ungültige Daten wie folgt behoben:
- Wenn der Tag nicht existiert, der Monat aber schon: Wählen Sie den nächstgelegenen Tag im selben Monat. Wenn es zwei gleich naheliegende 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 entsprechend den kulturellen Konventionen der Benutzer dieses Kalenders. Normalerweise führt dies zum gleichen Tag im Monat davor oder danach, wo dieser Monat normalerweise in einem Schaltjahr fallen würde.
- Wenn der Monat aus anderen Gründen im Jahr nicht existiert: Wählen Sie das nächstgelegene Datum, das noch im gleichen Jahr liegt. Wenn es zwei gleich naheliegende 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 naheliegende Daten gibt, wählen Sie das spätere.
Konstruktor
Temporal.PlainDate()Experimentell-
Erstellt ein neues
Temporal.PlainDate-Objekt, 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, gleich oder nach dem zweiten Datum liegt. Entspricht dem Vergleich der Jahr-, Monat- und Tag-Felder der zugrunde liegenden ISO-8601-Daten.
Temporal.PlainDate.from()-
Erstellt ein neues
Temporal.PlainDate-Objekt aus einem anderenTemporal.PlainDate-Objekt, einem Objekt mit Datumsangaben 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 verwendeten Kalender zur Interpretation des internen ISO-8601-Datums darstellt.
Temporal.PlainDate.prototype.constructor-
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
Temporal.PlainDate-Instanzen ist der Anfangswert derTemporal.PlainDate()-Konstruktor. Temporal.PlainDate.prototype.day-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagesindex im Monat dieses Datums darstellt, der dieselbe Tageszahl ist, die Sie in einem Kalender sehen würden. Kalender-abhängig. Beginnt allgemein bei 1 und ist kontinuierlich, aber nicht immer.
Temporal.PlainDate.prototype.dayOfWeek-
Gibt eine positive Ganzzahl zurück, die den 1-basierten Tagesindex in der Woche dieses Datums darstellt. 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, auch wenn es in den den Kalender verwendenden lokalen Gebieten als anderer Tag der Woche angesehen wird (sieheIntl.Locale.prototype.getWeekInfo()). Temporal.PlainDate.prototype.dayOfYear-
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 diedaysInYear. 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. Im ISO-8601-Kalender sind es immer 7, aber in anderen Kalendersystemen kann es von Woche zu Woche variieren.
Temporal.PlainDate.prototype.daysInYear-
Gibt eine positive Ganzzahl zurück, die die Anzahl der Tage im Jahr dieses Datums darstellt. Kalender-abhängig. Im ISO-8601-Kalender sind es 365 oder 366 in einem Schaltjahr.
Temporal.PlainDate.prototype.era-
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).eraunderaYearidentifizieren zusammen eindeutig ein Jahr in einem Kalender, auf die gleiche Weise wieyear. Kalender-abhängig. Für den Gregorianischen Kalender ist es entweder"gregory"oder"gregory-inverse". Temporal.PlainDate.prototype.eraYear-
Gibt eine nichtnegative 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. Gregorian BCE).eraunderaYearidentifizieren zusammen eindeutig ein Jahr in einem Kalender, auf die gleiche Weise 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 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
1, und der letzte Monat ist diemonthsInYear. Kalender-abhängig. Beachten Sie, dass im Gegensatz zuDate.prototype.getMonth()der Index 1-basiert ist. Wenn der Kalender Schaltmonate hat, kann derselbemonthCodein verschiedenen Jahren unterschiedlichemonth-Indizes 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 Monatsnummer. 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-
Gibt eine positive Ganzzahl zurück, die die Anzahl der Monate im Jahr dieses Datums darstellt. Kalender-abhängig. Im 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 möglicherweise 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 in der Mitte des Jahres liegt, hat dieses Jahr vor und nach dem Beginn der Ära denselben Wert. Temporal.PlainDate.prototype.yearOfWeek-
Gibt eine Ganzzahl zurück, die das Jahr darstellt, das mit der
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, so dass sichyearOfWeekum 1 unterscheidet. Temporal.PlainDate.prototype[Symbol.toStringTag]-
Der Anfangswert der
[Symbol.toStringTag]-Eigenschaft ist der String"Temporal.PlainDate". Diese Eigenschaft wird inObject.prototype.toString()verwendet.
Instanz-Methoden
Temporal.PlainDate.prototype.add()-
Gibt ein neues
Temporal.PlainDate-Objekt zurück, das dieses Datum darstellt, verschoben um eine angegebene Dauer (in einer durchTemporal.Duration.from()konvertierbaren Form). Temporal.PlainDate.prototype.equals()-
Gibt
truezurück, wenn dieses Datum im Wert einem anderen Datum entspricht (in einer durchTemporal.PlainDate.from()konvertierbaren Form), undfalseandernfalls. Sie werden sowohl nach ihren Datumswerten als auch nach ihren Kalendern verglichen. Temporal.PlainDate.prototype.since()-
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 danach. Temporal.PlainDate.prototype.subtract()-
Gibt ein neues
Temporal.PlainDate-Objekt zurück, das dieses Datum darstellt, verschoben um eine gegebene Dauer (in einer durchTemporal.Duration.from()konvertierbaren Form). Temporal.PlainDate.prototype.toJSON()-
Gibt einen String zurück, der dieses Datum im gleichen RFC 9557-Format darstellt, wie bei einem Aufruf von
toString(). Soll implizit durchJSON.stringify()aufgerufen werden. Temporal.PlainDate.prototype.toLocaleString()-
Gibt einen String mit einer sprachensensitiven Darstellung dieses Datums zurück.
Temporal.PlainDate.prototype.toPlainDateTime()-
Gibt ein neues
Temporal.PlainDateTime-Objekt zurück, das dieses Datum und eine angegebene Zeit im selben Kalendersystem darstellt. Temporal.PlainDate.prototype.toPlainMonthDay()-
Gibt ein neues
Temporal.PlainMonthDay-Objekt zurück, das denmonthCodeunddaydieses Datums im selben Kalendersystem darstellt. Temporal.PlainDate.prototype.toPlainYearMonth()-
Gibt ein neues
Temporal.PlainYearMonth-Objekt zurück, das denyearundmonthdieses 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.ZonedDateTime-Objekt zurück, das dieses Datum, eine angegebene Zeit und eine angegebene Zeitzone im selben Kalendersystem darstellt. Temporal.PlainDate.prototype.until()-
Gibt ein neues
Temporal.Duration-Objekt zurück, das die Dauer von diesem Datum bis zu einem anderen Datum (in einer durchTemporal.Instant.from()konvertierbaren Form) darstellt. Die Dauer ist positiv, wenn das andere Datum nach diesem Datum liegt, und negativ, wenn davor. Temporal.PlainDate.prototype.valueOf()-
Löst einen
TypeErroraus, der verhindert, dassTemporal.PlainDate-Instanzen implizit in primitive Werte umgewandelt werden, wenn sie in arithmetischen oder Vergleichsoperationen verwendet werden. Temporal.PlainDate.prototype.with()-
Gibt ein neues
Temporal.PlainDate-Objekt zurück, das dieses Datum mit einigen durch neue Werte ersetzten Feldern darstellt. Temporal.PlainDate.prototype.withCalendar()-
Gibt ein neues
Temporal.PlainDate-Objekt zurück, das dieses Datum im neuen Kalendersystem interpretiert darstellt.
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal-plaindate-objects> |