Temporal.PlainDate
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more support for this feature? Tell us why.
Das Temporal.PlainDate-Objekt repräsentiert ein Kalenderdatum (ein Datum ohne Zeit oder Zeitzone); zum Beispiel ein Ereignis in einem Kalender, das den ganzen Tag über stattfindet, unabhängig davon, in welcher Zeitzone es passiert. Es wird grundsätzlich als ISO 8601-Kalenderdatum dargestellt, mit Jahr-, Monats- und Tagesfeldern sowie einem zugehörigen Kalendersystem.
Beschreibung
Ein PlainDate ist im Wesentlichen der Datumsanteil eines Temporal.PlainDateTime-Objekts, wobei die Zeitinformationen entfernt wurden. Da die 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 serialisiert und geparst werden, eine 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 allgemein unterstützter Kalendertypen. Standard ist[u-ca=iso8601]. Ein kritisches Flag kann durch Voranstellen des Schlüssels mit!hinzugefügt werden: 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 wirft einen Fehler, wenn Annotations zwei oder mehr Kalender-Anmerkungen beinhalten und eine davon kritisch ist. Beachten Sie, dassYYYY-MM-DDimmer als ISO 8601-Kalenderdatum interpretiert und dann in den angegebenen Kalender konvertiert wird.
Als Eingabe können optional die Zeit, der Offset und der Zeitzonenbezeichner im selben Format wie bei PlainDateTime enthalten sein, aber sie werden ignoriert. Andere Annotationen im [key=value]-Format werden ebenfalls ignoriert und dürfen nicht das kritische Flag haben.
Beim Serialisieren können Sie konfigurieren, ob die Kalender-ID angezeigt werden soll und ob ein kritisches Flag dafür hinzugefügt werden soll.
Ungültiges Datum Clamping
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 ermöglichen es, Datumsangaben mit kalenderspezifischen Eigenschaften zu konstruieren. Die Datumskomponenten können außerhalb des gültigen Bereichs liegen. Im ISO-Kalender ist dies immer ein Overflow, wie zum Beispiel, wenn der Monat größer als 12 ist oder der Tag größer als die Anzahl der Tage, und das Beheben würde lediglich bedeuten, den Wert auf den maximal zulässigen Wert zu beschränken. In anderen Kalendern kann der ungültige Fall komplexer sein. Wenn die Option overflow: "constrain" verwendet wird, werden ungültige Daten auf folgende Weise zu einem gültigen geändert:
- Wenn der Tag nicht existiert, aber der Monat schon: Wählen Sie den nächstgelegenen Tag im selben Monat. Wenn es zwei gleich nahe 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 führt dies zu demselben 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ächste Datum, das noch im selben Jahr liegt. Wenn es zwei gleich nahe Daten in diesem Jahr gibt, wählen Sie das spätere.
- Wenn das gesamte Jahr nicht existiert: Wählen Sie das nächste Datum in einem anderen Jahr. Wenn es zwei gleich nahe Daten gibt, wählen Sie das spätere.
Konstruktor
Temporal.PlainDate()-
Erstellt ein neues
Temporal.PlainDate-Objekt, indem die zugrunde liegenden Daten direkt geliefert 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 Tagesfelder der zugrunde liegenden ISO 8601-Daten.
Temporal.PlainDate.from()-
Erstellt ein neues
Temporal.PlainDate-Objekt aus einem anderenTemporal.PlainDate-Objekt, 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 repräsentiert, der zur Interpretation des internen ISO 8601-Datums verwendet wird.
Temporal.PlainDate.prototype.constructor-
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Bei
Temporal.PlainDate-Instanzen ist der Anfangswert derTemporal.PlainDate()-Konstruktor. Temporal.PlainDate.prototype.day-
Gibt eine positive ganze Zahl zurück, die den 1-basierten Tag-Index im Monat dieses Datums repräsentiert, der derselbe Tagesnummer ist, die Sie auf einem Kalender sehen würden. Kalender-abhängig. Beginnt in der Regel bei 1 und ist kontinuierlich, aber nicht immer.
Temporal.PlainDate.prototype.dayOfWeek-
Gibt eine positive ganze Zahl zurück, die den 1-basierten Tag-Index in der Woche dieses Datums repräsentiert. 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 Gebiete, die den Kalender verwenden, einen anderen Tag als den ersten Tag der Woche betrachten (sieheIntl.Locale.prototype.getWeekInfo()). Temporal.PlainDate.prototype.dayOfYear-
Gibt eine positive ganze Zahl zurück, die den 1-basierten Tag-Index im Jahr dieses Datums repräsentiert. Der erste Tag dieses Jahres ist
1und der letzte Tag ist derdaysInYear. Kalender-abhängig. Temporal.PlainDate.prototype.daysInMonth-
Gibt eine positive ganze Zahl zurück, die die Anzahl der Tage im Monat dieses Datums repräsentiert. Kalender-abhängig.
Temporal.PlainDate.prototype.daysInWeek-
Gibt eine positive ganze Zahl zurück, die die Anzahl der Tage in der Woche dieses Datums repräsentiert. 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-
Gibt eine positive ganze Zahl zurück, die die Anzahl der Tage im Jahr dieses Datums repräsentiert. Kalender-abhängig. Für den ISO 8601-Kalender sind das 365 oder 366 in einem Schaltjahr.
Temporal.PlainDate.prototype.era-
Gibt einen kalenderspezifischen Kleinbuchstaben-String zurück, der die Epoche dieses Datums repräsentiert, oder
undefined, wenn der Kalender keine Epochen verwendet (z.B. ISO 8601).eraunderaYearidentifizieren gemeinsam eindeutig ein Jahr in einem Kalender, genauso wieyear. Kalender-abhängig. Für den Gregorianischen Kalender ist es entweder"ce"oder"bce". Temporal.PlainDate.prototype.eraYear-
Gibt eine nicht-negative ganze Zahl zurück, die das Jahr dieses Datums innerhalb der Epoche repräsentiert, oder
undefined, wenn der Kalender keine Epochen verwendet (z.B. ISO 8601). Der Jahr-Index beginnt normalerweise bei 1 (häufiger) oder 0, und die Jahre in einer Epoche können mit der Zeit abnehmen (z.B. Gregorianische BCE).eraunderaYearidentifizieren gemeinsam eindeutig ein Jahr in einem Kalender, 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 (aufgrund eines Schalt- oder Übermonats) als ein normales Jahr hat. Kalender-abhängig.
Temporal.PlainDate.prototype.month-
Gibt eine positive ganze Zahl zurück, die den 1-basierten Monat-Index im Jahr dieses Datums repräsentiert. Der erste Monat dieses Jahres ist
1und der letzte Monat ist dermonthsInYear. Kalender-abhängig. Beachten Sie, dass im Vergleich zuDate.prototype.getMonth()der Index 1-basiert ist. Wenn der Kalender Schaltmonate hat, dann kann der Monat mit demselbenmonthCodefür verschiedene Jahre unterschiedlichemonth-Indizes haben. Temporal.PlainDate.prototype.monthCode-
Gibt einen kalenderspezifischen String zurück, der den Monat dieses Datums repräsentiert. Kalender-abhängig. Üblicherweise 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 ganze Zahl zurück, die die Anzahl der Monate im Jahr dieses Datums repräsentiert. Kalender-abhängig. Für den ISO 8601-Kalender sind das immer 12, aber in anderen Kalendersystemen kann es variieren.
Temporal.PlainDate.prototype.weekOfYear-
Gibt eine positive ganze Zahl zurück, die den 1-basierten Wochen-Index im
yearOfWeekdieses Datums repräsentiert oderundefined, wenn der Kalender kein gut definiertes Wochensystem hat. Die erste Woche des Jahres ist1. Kalender-abhängig. Beachten Sie, dass beim ISO 8601 die ersten und letzten Tage des Jahres der letzten Woche des Vorjahres oder der ersten Woche des nächsten Jahres zugeschrieben werden können. Temporal.PlainDate.prototype.year-
Gibt eine ganze Zahl zurück, die die Anzahl der Jahre dieses Datums relativ zum Beginn eines kalenderspezifischen Epochenjahres repräsentiert. Kalender-abhängig. Üblicherweise ist Jahr 1 entweder das erste Jahr der letzten Ära oder das ISO 8601-Jahr
0001. Wenn die Epoche in der Mitte des Jahres liegt, hat dieses Jahr denselben Wert vor und nach dem Startdatum der Ära. Temporal.PlainDate.prototype.yearOfWeek-
Gibt eine ganze Zahl zurück, die das Jahr repräsentiert, das mit der
weekOfYeardieses Datums zu paaren ist, 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 Vorjahres oder der ersten Woche des nächsten Jahres zugeschrieben werden, was dazu führt, dass sich dasyearOfWeekum 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 um eine angegebene Dauer (in einer Form, die durchTemporal.Duration.from()umwandelbar ist) nach vorne verschoben repräsentiert. Temporal.PlainDate.prototype.equals()-
Gibt
truezurück, wenn dieses Datum gleichwertig zu einem anderen Datum ist (in einer Form, die durchTemporal.PlainDate.from()umwandelbar ist), undfalseandernfalls. Sie werden sowohl durch ihre Datumswerte als auch durch ihre Kalender verglichen. Temporal.PlainDate.prototype.since()-
Gibt ein neues
Temporal.Duration-Objekt zurück, das die Dauer von einem anderen Datum (in einer Form, die durchTemporal.PlainDate.from()umwandelbar ist) 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 um eine angegebene Dauer (in einer Form, die durchTemporal.Duration.from()umwandelbar ist) nach hinten verschoben repräsentiert. Temporal.PlainDate.prototype.toJSON()-
Gibt einen String zurück, der dieses Datum im selben RFC 9557-Format darstellt wie der Aufruf von
toString(). Soll implizit vonJSON.stringify()aufgerufen werden. Temporal.PlainDate.prototype.toLocaleString()-
Gibt einen String mit einer sprachsensitiven 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 denmonthCodeund dendaydieses Datums im selben Kalendersystem darstellt. Temporal.PlainDate.prototype.toPlainYearMonth()-
Gibt ein neues
Temporal.PlainYearMonth-Objekt zurück, das denyearund denmonthdieses 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 zu einem anderen Datum (in einer Form, die durchTemporal.PlainDate.from()umwandelbar ist) darstellt. Die Dauer ist positiv, wenn das andere Datum nach diesem Datum liegt, und negativ, wenn davor. Temporal.PlainDate.prototype.valueOf()-
Wirft einen
TypeError, 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 Feldern, die durch neue Werte ersetzt wurden, darstellt. Temporal.PlainDate.prototype.withCalendar()-
Gibt ein neues
Temporal.PlainDate-Objekt zurück, das dieses Datum, interpretiert im neuen Kalendersystem, darstellt.
Spezifikationen
| Spezifikation |
|---|
| Temporal> # sec-temporal-plaindate-objects> |