Temporal.PlainDate
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Das Temporal.PlainDate-Objekt repräsentiert ein Kalenderdatum (ein Datum ohne Uhrzeit oder Zeitzone); beispielsweise ein Ereignis in einem Kalender, das den ganzen Tag über stattfindet, unabhängig davon, in welcher Zeitzone es stattfindet. Es wird grundsätzlich als ISO-8601-Kalenderdatum mit Feldern für Jahr, Monat und Tag sowie einem zugehörigen Kalendersystem dargestellt.
Beschreibung
Ein PlainDate ist im Wesentlichen der Datumsteil eines Temporal.PlainDateTime-Objekts, aus dem die Zeitinformationen entfernt wurden. Da die Datums- und Zeitinformationen kaum miteinander interagieren, werden hier alle allgemeinen Informationen über Datumseigenschaften dokumentiert.
RFC-9557-Format
PlainDate-Objekte können mit dem RFC-9557-Format serialisiert und geparst werden, einer Erweiterung des Formats ISO 8601 / RFC 3339. Die Zeichenfolge hat die folgende Form (Leerzeichen dienen nur der Lesbarkeit und sollten in der tatsächlichen Zeichenfolge nicht vorhanden sein):
YYYY-MM-DD [u-ca=calendar_id]
YYYY-
Entweder eine vierstellige Zahl oder eine sechsstellige Zahl mit einem
+- oder--Vorzeichen. MM-
Eine zweistellige Zahl von
01bis12. DD-
Eine zweistellige Zahl von
01bis31. Die KomponentenYYYY,MMundDDkönnen durch-oder gar nicht getrennt werden. [u-ca=calendar_id]Optional-
Ersetzen Sie
calendar_iddurch den zu verwendenden Kalender. Eine Liste häufig unterstützter Kalendertypen finden Sie unterIntl.supportedValuesOf(). Standardmäßig wird[u-ca=iso8601]verwendet. Kann durch Voranstellen von!vor dem Schlüssel ein critical flag haben: beispielsweise[!u-ca=iso8601]. Dieses Flag teilt anderen Systemen im Allgemeinen mit, dass es nicht ignoriert werden darf, wenn sie es nicht unterstützen. DerTemporal-Parser löst einen Fehler aus, wenn die Annotationen zwei oder mehr Kalenderannotationen enthalten und eine davon kritisch ist. Beachten Sie, dassYYYY-MM-DDimmer als ISO-8601-Kalenderdatum interpretiert und anschließend in den angegebenen Kalender konvertiert wird.
Als Eingabe können Sie optional die Uhrzeit, den Offset und die Zeitzonenkennung im selben Format wie PlainDateTime angeben, sie werden jedoch ignoriert. Andere Annotationen im Format [key=value] werden ebenfalls ignoriert und dürfen kein kritisches Flag 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.
Begrenzung ungültiger Daten
Die Methoden Temporal.PlainDate.from(), Temporal.PlainDate.prototype.with(), Temporal.PlainDate.prototype.add(), Temporal.PlainDate.prototype.subtract() sowie ihre Entsprechungen in anderen Temporal-Objekten ermöglichen das Erstellen von Daten mithilfe kalenderspezifischer Eigenschaften. Die Datumskomponenten können außerhalb des gültigen Bereichs liegen. Im ISO-Kalender ist dies immer ein overflow, etwa wenn der Monat größer als 12 oder der Tag größer als die Anzahl der Tage ist, und die Korrektur würde lediglich darin bestehen, den Wert auf den maximal zulässigen Wert zu begrenzen. In anderen Kalendern kann der ungültige Fall komplexer sein. Bei Verwendung der Option overflow: "constrain" werden ungültige Daten folgendermaßen in gültige korrigiert:
- Wenn der Tag nicht existiert, der Monat aber schon: Wählen Sie den nächstgelegenen Tag im selben Monat. Wenn es in diesem Monat zwei gleich nahe Daten 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. In der Regel ergibt dies denselben Tag im Monat vor oder nach der Stelle, an der dieser Monat in einem Schaltjahr normalerweise liegen würde.
- Wenn der Monat aus anderen Gründen im Jahr nicht existiert: Wählen Sie das nächstgelegene Datum, das sich noch im selben Jahr befindet. Wenn es in diesem Jahr zwei gleich nahe Daten 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 nahe Daten gibt, wählen Sie das spätere.
Konstruktor
Temporal.PlainDate()-
Erstellt ein neues
Temporal.PlainDate-Objekt durch direkte Angabe der zugrunde liegenden Daten.
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, gleich diesem ist oder danach liegt. Entspricht dem Vergleichen der Felder für Jahr, Monat und Tag 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 einer RFC-9557-Zeichenfolge.
Instanzeigenschaften
Diese Eigenschaften sind auf Temporal.PlainDate.prototype definiert und werden von allen Temporal.PlainDate-Instanzen gemeinsam verwendet.
Temporal.PlainDate.prototype.calendarId-
Gibt eine Zeichenfolge zurück, die 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. Für
Temporal.PlainDate-Instanzen ist der Anfangswert der KonstruktorTemporal.PlainDate(). Temporal.PlainDate.prototype.day-
Gibt eine positive Ganzzahl zurück, die den bei 1 beginnenden Tagesindex im Monat dieses Datums repräsentiert, also dieselbe Tagesnummer, die Sie in einem Kalender sehen würden. Abhängig vom Kalender. Beginnt im Allgemeinen bei 1 und ist fortlaufend, aber nicht immer.
Temporal.PlainDate.prototype.dayOfWeek-
Gibt eine positive Ganzzahl zurück, die den bei 1 beginnenden Tagesindex in der Woche dieses Datums repräsentiert. Die Tage einer Woche werden fortlaufend von
1bisdaysInWeeknummeriert, wobei jede Zahl ihrem Namen zugeordnet ist. Abhängig vom Kalender. 1 repräsentiert im Kalender üblicherweise Montag, auch wenn Gebietsschemas, die den Kalender verwenden, möglicherweise einen anderen Tag als ersten Wochentag betrachten (sieheIntl.Locale.prototype.getWeekInfo()). Temporal.PlainDate.prototype.dayOfYear-
Gibt eine positive Ganzzahl zurück, die den bei 1 beginnenden Tagesindex im Jahr dieses Datums repräsentiert. Der erste Tag dieses Jahres ist
1, und der letzte Tag istdaysInYear. Abhängig vom Kalender. Temporal.PlainDate.prototype.daysInMonth-
Gibt eine positive Ganzzahl zurück, die die Anzahl der Tage im Monat dieses Datums repräsentiert. Abhängig vom Kalender.
Temporal.PlainDate.prototype.daysInWeek-
Gibt eine positive Ganzzahl zurück, die die Anzahl der Tage in der Woche dieses Datums repräsentiert. Abhängig vom Kalender. Für den ISO-8601-Kalender ist dies immer 7, in anderen Kalendersystemen kann sie jedoch 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 repräsentiert. Abhängig vom Kalender. Für den ISO-8601-Kalender beträgt sie 365 beziehungsweise 366 in einem Schaltjahr.
Temporal.PlainDate.prototype.era-
Gibt eine kalenderspezifische Zeichenfolge in Kleinbuchstaben zurück, die die Ära dieses Datums repräsentiert, oder
undefined, wenn der Kalender keine Ären verwendet (z. B. ISO 8601).eraunderaYearidentifizieren zusammen ein Jahr in einem Kalender eindeutig, ebenso wieyear. Abhängig vom Kalender. Für den gregorianischen Kalender ist dies entweder"ce"oder"bce". Temporal.PlainDate.prototype.eraYear-
Gibt eine nicht negative Ganzzahl zurück, die das Jahr dieses Datums innerhalb der Ära repräsentiert, oder
undefined, wenn der Kalender keine Ären verwendet (z. B. ISO 8601). Der Jahresindex beginnt üblicherweise bei 1 (häufiger) oder 0, und Jahre in einer Ära können mit der Zeit abnehmen (z. B. Gregorian BCE).eraunderaYearidentifizieren zusammen ein Jahr in einem Kalender eindeutig, ebenso wieyear. Abhängig vom Kalender. Temporal.PlainDate.prototype.inLeapYear-
Gibt einen booleschen Wert zurück, der angibt, ob dieses Datum in einem Schaltjahr liegt. Ein Schaltjahr ist ein Jahr, das mehr Tage hat als ein gewöhnliches Jahr, etwa aufgrund eines Schalttags oder Schaltmonats. Abhängig vom Kalender.
Temporal.PlainDate.prototype.month-
Gibt eine positive Ganzzahl zurück, die den bei 1 beginnenden Monatsindex im Jahr dieses Datums repräsentiert. Der erste Monat dieses Jahres ist
1, und der letzte Monat istmonthsInYear. Abhängig vom Kalender. Beachten Sie, dass der Index anders als beiDate.prototype.getMonth()bei 1 beginnt. Wenn der Kalender Schaltmonate hat, kann der Monat mit demselbenmonthCodefür verschiedene Jahre unterschiedlichemonth-Indizes haben. Temporal.PlainDate.prototype.monthCode-
Gibt eine kalenderspezifische Zeichenfolge zurück, die den Monat dieses Datums repräsentiert. Abhängig vom Kalender. Üblicherweise besteht sie aus
Mplus einer zweistelligen Monatsnummer. Für Schaltmonate besteht sie aus dem 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 repräsentiert. Abhängig vom Kalender. Für den ISO-8601-Kalender ist dies immer 12, in anderen Kalendersystemen kann sie jedoch abweichen.
Temporal.PlainDate.prototype.weekOfYear-
Gibt eine positive Ganzzahl zurück, die den bei 1 beginnenden Wochenindex im
yearOfWeekdieses Datums repräsentiert, oderundefined, wenn der Kalender kein eindeutig definiertes Wochensystem hat. Die erste Woche des Jahres ist1. Abhängig vom Kalender. Beachten Sie, dass für ISO 8601 die ersten und letzten wenigen Tage des Jahres der letzten Woche des vorherigen Jahres oder der ersten Woche des nächsten Jahres zugeordnet sein können. Temporal.PlainDate.prototype.year-
Gibt eine Ganzzahl zurück, die die Anzahl der Jahre dieses Datums relativ zum Beginn eines kalenderspezifischen Epochenjahres repräsentiert. Abhängig vom Kalender. Üblicherweise ist Jahr 1 entweder das erste Jahr der jüngsten Ä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-
Gibt eine Ganzzahl zurück, die das Jahr repräsentiert, das mit dem
weekOfYeardieses Datums zu koppeln ist, oderundefined, wenn der Kalender kein eindeutig definiertes Wochensystem hat. Abhängig vom Kalender. Üblicherweise ist dies das Jahr des Datums, aber bei ISO 8601 können die ersten und letzten wenigen Tage des Jahres der letzten Woche des vorherigen Jahres oder der ersten Woche des nächsten Jahres zugeordnet sein, wodurch sichyearOfWeekum 1 unterscheiden kann. Temporal.PlainDate.prototype[Symbol.toStringTag]-
Der Anfangswert der Eigenschaft
[Symbol.toStringTag]ist die Zeichenfolge"Temporal.PlainDate". Diese Eigenschaft wird inObject.prototype.toString()verwendet.
Instanzmethoden
Temporal.PlainDate.prototype.add()-
Gibt ein neues
Temporal.PlainDate-Objekt zurück, das dieses Datum repräsentiert, nachdem es um eine bestimmte Dauer vorwärts verschoben wurde (in einer Form, die durchTemporal.Duration.from()konvertiert werden kann). Temporal.PlainDate.prototype.equals()-
Gibt
truezurück, wenn dieses Datum im Wert einem anderen Datum entspricht (in einer Form, die durchTemporal.PlainDate.from()konvertiert werden kann), andernfallsfalse. Sie werden sowohl anhand ihrer Datumswerte als auch ihrer 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()konvertiert werden kann) bis zu diesem Datum repräsentiert. 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.PlainDate-Objekt zurück, das dieses Datum repräsentiert, nachdem es um eine bestimmte Dauer rückwärts verschoben wurde (in einer Form, die durchTemporal.Duration.from()konvertiert werden kann). Temporal.PlainDate.prototype.toJSON()-
Gibt eine Zeichenfolge zurück, die dieses Datum im selben RFC-9557-Format repräsentiert wie ein Aufruf von
toString(). Sie ist dafür vorgesehen, implizit durchJSON.stringify()aufgerufen zu werden. Temporal.PlainDate.prototype.toLocaleString()-
Gibt eine Zeichenfolge mit einer sprachabhängigen Darstellung dieses Datums zurück.
Temporal.PlainDate.prototype.toPlainDateTime()-
Gibt ein neues
Temporal.PlainDateTime-Objekt zurück, das dieses Datum und eine angegebene Uhrzeit im selben Kalendersystem repräsentiert. Temporal.PlainDate.prototype.toPlainMonthDay()-
Gibt ein neues
Temporal.PlainMonthDay-Objekt zurück, das denmonthCodeund dendaydieses Datums im selben Kalendersystem repräsentiert. Temporal.PlainDate.prototype.toPlainYearMonth()-
Gibt ein neues
Temporal.PlainYearMonth-Objekt zurück, das dasyearund denmonthdieses Datums im selben Kalendersystem repräsentiert. Temporal.PlainDate.prototype.toString()-
Gibt eine Zeichenfolge zurück, die dieses Datum im RFC-9557-Format repräsentiert.
Temporal.PlainDate.prototype.toZonedDateTime()-
Gibt ein neues
Temporal.ZonedDateTime-Objekt zurück, das dieses Datum, eine angegebene Uhrzeit und eine angegebene Zeitzone im selben Kalendersystem repräsentiert. Temporal.PlainDate.prototype.until()-
Gibt ein neues
Temporal.Duration-Objekt zurück, das die Dauer von diesem Datum bis zu einem anderen Datum repräsentiert (in einer Form, die durchTemporal.PlainDate.from()konvertiert werden kann). Die Dauer ist positiv, wenn das andere Datum nach diesem Datum liegt, und negativ, wenn es davor liegt. Temporal.PlainDate.prototype.valueOf()-
Löst einen
TypeErroraus, wodurch verhindert wird, dassTemporal.PlainDate-Instanzen bei Verwendung in arithmetischen Operationen oder Vergleichsoperationen implizit in primitive Werte konvertiert werden. Temporal.PlainDate.prototype.with()-
Gibt ein neues
Temporal.PlainDate-Objekt zurück, das dieses Datum mit einigen durch neue Werte ersetzten Feldern repräsentiert. Temporal.PlainDate.prototype.withCalendar()-
Gibt ein neues
Temporal.PlainDate-Objekt zurück, das dieses Datum im neuen Kalendersystem interpretiert repräsentiert.
Spezifikationen
| Spezifikation |
|---|
| Temporal> # sec-temporal-plaindate-objects> |