Temporal.PlainDate : propriété dayOfYear
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 dayOfYear des instances de Temporal.PlainDate retourne un entier positif représentant l'indice 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 le daysInYear. Elle dépend du calendrier.
Le mutateur d'accesseur de dayOfYear est undefined. Vous ne pouvez pas modifier cette propriété directement. Pour créer un nouvel objet Temporal.PlainDate avec la nouvelle valeur souhaitée de dayOfYear, utilisez la méthode add() ou subtract() avec le nombre approprié de days.
Exemples
>Utiliser la propriété dayOfYear
const date = Temporal.PlainDate.from("2021-07-01");
console.log(date.dayOfYear); // 182
const date2 = Temporal.PlainDate.from("2021-07-01[u-ca=chinese]");
console.log(date2.dayOfYear); // 140
const date3 = Temporal.PlainDate.from("2020-07-01");
console.log(date3.dayOfYear); // 183; 2020 is a leap year
Changer la valeur de dayOfYear
PlainDate ne prend pas en charge la modification directe de dayOfYear. Pour changer le jour de l'année, vous devez d'abord déterminer la différence en jours par rapport au jour de l'année souhaité, puis utiliser add ou subtract pour ajuster la date en conséquence. Par exemple, pour passer au 100e jour de cette année (avant ou après) :
function getDayInSameYear(date, destDayOfYear) {
return date.add({ days: destDayOfYear - date.dayOfYear });
}
console.log(
getDayInSameYear(Temporal.PlainDate.from("2021-07-01"), 100).toString(),
); // 2021-04-10
console.log(
getDayInSameYear(Temporal.PlainDate.from("2021-01-01"), 100).toString(),
); // 2021-04-10
console.log(
getDayInSameYear(Temporal.PlainDate.from("2020-01-01"), 100).toString(),
); // 2020-04-09
Par défaut, with() contraint le jour à la plage de valeurs valides. Vous pouvez donc toujours utiliser { month: 1, day: 1 } pour définir le jour au premier jour de l'année, 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 de l'année, quel que soit le nombre de jours dans le dernier mois ou l'année :
const date = Temporal.PlainDate.from("2021-07-01");
const lastDay = date.with({ month: Number.MAX_VALUE, day: Number.MAX_VALUE }); // 2021-12-31
Spécifications
| Spécification |
|---|
| Temporal> # sec-get-temporal.plaindate.prototype.dayofyear> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal.PlainDate - La méthode
Temporal.PlainDate.prototype.with() - La méthode
Temporal.PlainDate.prototype.add() - La méthode
Temporal.PlainDate.prototype.subtract() - La propriété
Temporal.PlainDate.prototype.year - La propriété
Temporal.PlainDate.prototype.day - La propriété
Temporal.PlainDate.prototype.dayOfWeek - La propriété
Temporal.PlainDate.prototype.daysInYear