Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Temporal.PlainDate : propriété day

Disponibilité limitée

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

La propriété d'accesseur day des instances de Temporal.PlainDate retourne un entier positif représentant l'indice 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. Elle dépend du calendrier.

Elle commence généralement à 1 et est continue, mais pas toujours. Si vous souhaitez parcourir tous les jours d'un mois, utilisez d'abord with() avec { day: 1 } (ce qui définit le début du mois, même si le numéro réel n'est pas 1), puis utilisez de manière répétée add() avec { days: 1 }, jusqu'à ce que le mois change.

Note : Habituellement, l'indice du jour ne change que lors du passage d'un système de calendrier à un autre, comme du calendrier julien au calendrier grégorien. En pratique, tous les calendriers intégrés actuellement sont proleptiques, ce qui signifie que le système de calendrier est étendu indéfiniment dans le passé et le futur. Supposer que day n'est pas continu protège contre les futures introductions de calendriers non proleptiques.

Le mutateur d'accesseur de day est undefined. Vous ne pouvez pas modifier cette propriété directement. Utilisez la méthode with() pour créer un nouvel objet Temporal.PlainDate avec la nouvelle valeur souhaitée.

Exemples

Utiliser la propriété day

js
const date = Temporal.PlainDate.from("2021-07-01"); // calendrier ISO 8601
console.log(date.day); // 1

const date2 = Temporal.PlainDate.from("2021-07-01[u-ca=chinese]");
console.log(date2.day); // 22; c'est le 22 mai dans le calendrier chinois

Parcourir tous les jours d'un mois

js
const month = Temporal.PlainDate.from("2021-07-14"); // Une date arbitraire dans le mois
for (
  let day = month.with({ day: 1 });
  day.month === month.month;
  day = day.add({ days: 1 })
) {
  console.log(day.day);
}

Changer le jour

js
const date = Temporal.PlainDate.from("2021-07-01");
const newDate = date.with({ day: 15 });
console.log(newDate.toString()); // 2021-07-15

Vous pouvez également utiliser add() ou subtract() pour déplacer un certain nombre de jours à partir de la date actuelle.

js
const date = Temporal.PlainDate.from("2021-07-01");
const newDate = date.add({ days: 14 });
console.log(newDate.toString()); // 2021-07-15

Par défaut, with() contraint le jour à la plage de valeurs valides. Vous pouvez donc utiliser { day: 1 } pour définir le jour au premier jour du mois, même si le premier jour n'a pas le numéro 1. De même, ce qui suit définira le jour au dernier jour du mois :

js
const date = Temporal.PlainDate.from("2021-07-01");
const lastDay = date.with({ day: Number.MAX_VALUE }); // 2021-07-31

Note : Évitez d'utiliser daysInMonth pour définir le jour au dernier jour du mois. Le dernier jour du mois n'est pas toujours le même que le nombre de jours dans le mois, dans le cas rare où un mois peut avoir quelques jours sautés.

Spécifications

Spécification
Temporal
# sec-get-temporal.plaindate.prototype.day

Compatibilité des navigateurs

Voir aussi