Temporal.PlainDate
Disponibilité limitée
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
L'objet Temporal.PlainDate représente une date du calendrier (une date sans heure ni fuseau horaire) ; par exemple, un évènement sur un calendrier qui se produit pendant toute la journée, quel que soit le fuseau horaire. Il est fondamentalement représenté comme une date du calendrier ISO 8601, avec des champs pour l'année, le mois et le jour, et un système de calendrier associé.
Description
Un objet PlainDate est essentiellement la partie date d'un objet Temporal.PlainDateTime, avec les informations de temps supprimées. Comme les informations de date et d'heure n'ont pas beaucoup d'interaction, toutes les informations générales sur les propriétés de date sont documentées ici.
Format RFC 9557
Les objets PlainDate peuvent être sérialisés et analysés en utilisant le format RFC 9557 (ang.), une extension du format ISO 8601 / RFC 3339 (ang.). La chaîne de caractères a la forme suivante (les espaces sont uniquement pour la lisibilité et ne doivent pas être présents dans la chaîne de caractères réelle) :
YYYY-MM-DD [u-ca=calendar_id]
YYYY-
Soit un nombre à quatre chiffres, soit un nombre à six chiffres avec un signe
+ou-. MM-
Un nombre à deux chiffres de
01à12. DD-
Un nombre à deux chiffres de
01à31. Les composantsYYYY,MMetDDpeuvent être séparés par-ou rien. [u-ca=calendar_id]Facultatif-
Remplacez
calendar_idpar le calendrier à utiliser. VoirIntl.supportedValuesOf()pour une liste des types de calendriers couramment pris en charge. Par défaut,[u-ca=iso8601]. Peut avoir un drapeau critique en préfixant la clé avec!: par exemple,[!u-ca=iso8601]. Ce drapeau indique généralement aux autres systèmes qu'il ne peut pas être ignoré s'ils ne le prennent pas en charge. L'analyseurTemporalgénérera une erreur si les annotations contiennent deux annotations de calendrier ou plus et que l'une d'elles est critique. Notez que leYYYY-MM-DDest toujours interprété comme une date du calendrier ISO 8601, puis converti en calendrier défini.
Comme entrée, vous pouvez éventuellement inclure l'heure, le décalage et l'identifiant du fuseau horaire, dans le même format que PlainDateTime, mais ils seront ignorés. Les autres annotations au format [clé=valeur] sont également ignorées et ne doivent pas avoir le drapeau critique.
Lors de la sérialisation, vous pouvez configurer l'affichage de l'identifiant du calendrier et l'ajout d'un drapeau critique pour celui-ci.
Fixer les dates invalides
Les méthodes Temporal.PlainDate.from(), Temporal.PlainDate.prototype.with(), Temporal.PlainDate.prototype.add(), Temporal.PlainDate.prototype.subtract() et leurs homologues dans d'autres objets Temporal, permettent de construire des dates en utilisant des propriétés spécifiques au calendrier. Les composants de la date peuvent être hors de portée. Dans le calendrier ISO, il s'agit toujours d'un dépassement, comme le mois étant supérieur à 12 ou le jour étant supérieur au nombre de jours, et le corriger ne consisterait qu'à limiter la valeur à la valeur maximale autorisée. Dans d'autres calendriers, le cas invalide peut être plus complexe. Lors de l'utilisation de l'option overflow: "constrain", les dates invalides sont corrigées pour devenir valides de la manière suivante :
- Si le jour n'existe pas mais que le mois existe : choisissez le jour le plus proche dans le même mois. S'il y a deux dates également proches dans ce mois, choisissez la plus tardive.
- Si le mois est un mois intercalaire qui n'existe pas dans l'année : choisissez une autre date selon les conventions culturelles des utilisateur·ice·s de ce calendrier. Cela se traduira généralement par le même jour dans le mois précédent ou suivant où ce mois tomberait normalement dans une année bissextile.
- Si le mois n'existe pas dans l'année pour d'autres raisons : choisissez la date la plus proche qui est encore dans la même année. S'il y a deux dates également proches dans cette année, choisissez la plus tardive.
- Si l'année entière n'existe pas : choisissez la date la plus proche dans une autre année. S'il y a deux dates également proches, choisissez la plus tardive.
Constructeur
Temporal.PlainDate()Expérimental-
Crée un nouvel objet
Temporal.PlainDateen fournissant directement les données sous-jacentes.
Méthodes statiques
Temporal.PlainDate.compare()-
Retourne un nombre (-1, 0 ou 1) indiquant si la première date est antérieure, identique ou postérieure à la deuxième date. Équivaut à comparer les champs année, mois et jour des dates ISO 8601 sous-jacentes.
Temporal.PlainDate.from()-
Crée un nouvel objet
Temporal.PlainDateà partir d'un autre objetTemporal.PlainDate, d'un objet avec des propriétés de date ou d'une chaîne au format RFC 9557.
Propriétés d'instance
Ces propriétés sont définies sur Temporal.PlainDate.prototype et partagées par toutes les instances de Temporal.PlainDate.
Temporal.PlainDate.prototype.calendarId-
Retourne une chaîne de caractères représentant le calendrier utilisé pour interpréter la date ISO 8601 interne.
Temporal.PlainDate.prototype.constructor-
La fonction constructeur qui a créé l'objet instance. Pour les instances de
Temporal.PlainDate, la valeur initiale est le constructeurTemporal.PlainDate(). Temporal.PlainDate.prototype.day-
Retourne un entier positif représentant l'index du jour dans le mois de cette date, basé sur 1, ce qui correspond au numéro de jour que vous verriez sur un calendrier. Dépend du calendrier. Généralement commence à 1 et est continu, mais pas toujours.
Temporal.PlainDate.prototype.dayOfWeek-
Retourne un entier positif représentant l'index du jour dans la semaine de cette date, basé sur 1. Les jours de la semaine sont numérotés séquentiellement de
1àdaysInWeek, chaque numéro correspondant à son nom. Dépend du calendrier. 1 représente généralement le lundi dans le calendrier, même lorsque les locales utilisant le calendrier peuvent considérer un autre jour comme le premier jour de la semaine (voirIntl.Locale.prototype.getWeekInfo()). Temporal.PlainDate.prototype.dayOfYear-
Retourne un entier positif représentant l'index du jour dans l'année de cette date, basé sur 1. Le premier jour de cette année est
1, et le dernier jour est ledaysInYear. Dépend du calendrier. Temporal.PlainDate.prototype.daysInMonth-
Retourne un entier positif représentant le nombre de jours dans le mois de cette date. Dépend du calendrier.
Temporal.PlainDate.prototype.daysInWeek-
Retourne un entier positif représentant le nombre de jours dans la semaine de cette date. Dépend du calendrier. Pour le calendrier ISO 8601, c'est toujours 7, mais dans d'autres systèmes de calendrier, cela peut varier d'une semaine à l'autre.
Temporal.PlainDate.prototype.daysInYear-
Retourne un entier positif représentant le nombre de jours dans l'année de cette date. Dépend du calendrier. Pour le calendrier ISO 8601, c'est 365, ou 366 dans une année bissextile.
Temporal.PlainDate.prototype.era-
Retourne une chaîne de caractères en minuscules spécifique au calendrier représentant l'ère de cette date, ou
undefinedsi le calendrier n'utilise pas d'ères (par exemple, ISO 8601).eraeteraYearidentifient ensemble de manière unique une année dans un calendrier, de la même manière queyear. Dépend du calendrier. Pour le calendrier grégorien, c'est soit"ce", soit"bce". Temporal.PlainDate.prototype.eraYear-
Retourne un entier qui n'est pas négatif représentant l'année de cette date dans l'ère, ou
undefinedsi le calendrier n'utilise pas d'ères (par exemple, ISO 8601). L'index de l'année commence généralement à 1 (plus courant) ou 0, et les années dans une ère peuvent diminuer avec le temps (par exemple, BCE grégorien).eraeteraYearidentifient ensemble de manière unique une année dans un calendrier, de la même manière queyear. Dépend du calendrier. Temporal.PlainDate.prototype.inLeapYear-
Retourne un booléen indiquant si cette date se trouve dans une année bissextile. Une année bissextile est une année qui a plus de jours (en raison d'un jour ou d'un mois intercalaire) qu'une année commune. Dépend du calendrier.
Temporal.PlainDate.prototype.month-
Retourne un entier positif représentant l'index du mois dans l'année de cette date, basé sur 1. Le premier mois de cette année est
1, et le dernier mois est lemonthsInYear. Dépend du calendrier. Notez que contrairement àDate.prototype.getMonth(), l'index est basé sur 1. Si le calendrier a des mois intercalaires, alors le mois avec le mêmemonthCodepeut avoir des index demonthdifférents pour différentes années. Temporal.PlainDate.prototype.monthCode-
Retourne une chaîne de caractères spécifique au calendrier représentant le mois de cette date. Dépend du calendrier. Généralement, c'est
Msuivi d'un numéro de mois à deux chiffres. Pour les mois intercalaires, c'est le code du mois précédent suivi deL. Si le mois intercalaire est le premier mois de l'année, le code estM00L. Temporal.PlainDate.prototype.monthsInYear-
Retourne un entier positif représentant le nombre de mois dans l'année de cette date. Dépend du calendrier. Pour le calendrier ISO 8601, c'est toujours 12, mais dans d'autres systèmes de calendrier, cela peut varier.
Temporal.PlainDate.prototype.weekOfYear-
Retourne un entier positif représentant l'index de la semaine dans l'année de cette date, basé sur 1, ou
undefinedsi le calendrier n'a pas de système de semaine bien défini. La première semaine de l'année est1. Dépend du calendrier. Notez que pour ISO 8601, les premiers et derniers jours de l'année peuvent être attribués à la dernière semaine de l'année précédente ou à la première semaine de l'année suivante. Temporal.PlainDate.prototype.year-
Retourne un entier représentant le nombre d'années de cette date par rapport au début d'une année d'époque spécifique au calendrier. Dépend du calendrier. Généralement, l'année 1 est soit la première année de la dernière ère, soit l'année ISO 8601
0001. Si l'époque est au milieu de l'année, cette année aura la même valeur avant et après la date de début de l'ère. Temporal.PlainDate.prototype.yearOfWeek-
Retourne un entier représentant l'année à associer à l'index de la semaine de cette date, ou
undefinedsi le calendrier n'a pas de système de semaine bien défini. Dépend du calendrier. Généralement, c'est l'année de la date, mais pour ISO 8601, les premiers et derniers jours de l'année peuvent être attribués à la dernière semaine de l'année précédente ou à la première semaine de l'année suivante, ce qui fait queyearOfWeekpeut différer de 1. Temporal.PlainDate.prototype[Symbol.toStringTag]-
La valeur initiale de la propriété
[Symbol.toStringTag]est la chaîne de caractères"Temporal.PlainDate". Cette propriété est utilisée dansObject.prototype.toString().
Méthodes d'instance
Temporal.PlainDate.prototype.add()-
Retourne un nouvel objet
Temporal.PlainDatereprésentant cette date avancée d'une durée donnée (sous une forme convertible parTemporal.Duration.from()). Temporal.PlainDate.prototype.equals()-
Retourne
truesi cette date est équivalente en valeur à une autre date (sous une forme convertible parTemporal.PlainDate.from()), etfalsesinon. Elles sont comparées à la fois par leurs valeurs de date et leurs calendriers. Temporal.PlainDate.prototype.since()-
Retourne un nouvel objet
Temporal.Durationreprésentant la durée entre une autre date (sous une forme convertible parTemporal.PlainDate.from()) et cette date. La durée est positive si l'autre date est avant cette date, et négative si elle est après. Temporal.PlainDate.prototype.subtract()-
Retourne un nouvel objet
Temporal.PlainDatereprésentant cette date reculée d'une durée donnée (sous une forme convertible parTemporal.Duration.from()). Temporal.PlainDate.prototype.toJSON()-
Retourne une chaîne de caractères représentant cette date dans le même format RFC 9557 que l'appel de
toString(). Destiné à être appelé implicitement parJSON.stringify(). Temporal.PlainDate.prototype.toLocaleString()-
Retourne une chaîne de caractères représentant cette date de manière sensible à la langue.
Temporal.PlainDate.prototype.toPlainDateTime()-
Retourne un nouvel objet
Temporal.PlainDateTimereprésentant cette date et une heure fournie dans le même système de calendrier. Temporal.PlainDate.prototype.toPlainMonthDay()-
Retourne un nouvel objet
Temporal.PlainMonthDayreprésentant lemonthCodeet ledayde cette date dans le même système de calendrier. Temporal.PlainDate.prototype.toPlainYearMonth()-
Retourne un nouvel objet
Temporal.PlainYearMonthreprésentant l'yearet lemonthde cette date dans le même système de calendrier. Temporal.PlainDate.prototype.toString()-
Retourne une chaîne de caractères représentant cette date dans le format RFC 9557.
Temporal.PlainDate.prototype.toZonedDateTime()-
Retourne un nouvel objet
Temporal.ZonedDateTimereprésentant cette date, une heure fournie et un fuseau horaire fourni, dans le même système de calendrier. Temporal.PlainDate.prototype.until()-
Retourne un nouvel objet
Temporal.Durationreprésentant la durée entre cette date et une autre date (sous une forme convertible parTemporal.Instant.from()). La durée est positive si l'autre date est après cette date, et négative si elle est avant. Temporal.PlainDate.prototype.valueOf()-
Lève une
TypeError, ce qui empêche les instances deTemporal.PlainDated'être converties implicitement en primitives lorsqu'elles sont utilisées dans des opérations arithmétiques ou de comparaison. Temporal.PlainDate.prototype.with()-
Retourne un nouvel objet
Temporal.PlainDatereprésentant cette date avec certains champs remplacés par de nouvelles valeurs. Temporal.PlainDate.prototype.withCalendar()-
Retourne un nouvel objet
Temporal.PlainDatereprésentant cette date interprétée dans le nouveau système de calendrier.
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal-plaindate-objects> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal - L'objet
Temporal.Duration - L'objet
Temporal.PlainDateTime - L'objet
Temporal.PlainMonthDay - L'objet
Temporal.PlainYearMonth - L'objet
Temporal.ZonedDateTime