Temporal.PlainDate.prototype.dayOfYear
Базовый уровень Ограниченная доступность
Эта функция не является базовой, поскольку она не работает в некоторых из наиболее широко используемых браузеров.
Свойство-аксессор dayOfYear экземпляров Temporal.PlainDate возвращает положительное целое число, представляющее 1-индексированный порядковый номер дня в году для этой даты. Первый день этого года — 1, а последний день — daysInYear. Оно зависит от календаря.
Аксессор установки (set accessor) dayOfYear является undefined. Вы не можете изменить это свойство напрямую. Чтобы создать новый объект Temporal.PlainDate с желаемым новым значением dayOfYear, используйте метод add() или subtract() с соответствующим числом days.
Примеры
Использование 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
Изменение dayOfYear
PlainDate не поддерживает прямое изменение dayOfYear. Чтобы изменить день года, вам нужно сначала определить разницу в днях до желаемого дня года, а затем использовать add или subtract для соответствующей корректировки даты. Например, чтобы перейти к 100-му дню этого года (будь то раньше или позже):
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
По умолчанию with() ограничивает день диапазоном допустимых значений. Таким образом, вы всегда можете использовать { month: 1, day: 1 }, чтобы установить день на первый день года, даже если первый день не имеет номер 1. Аналогично, следующее установит день на последний день года, независимо от того, сколько дней содержится в последнем месяце или году:
const date = Temporal.PlainDate.from("2021-07-01");
const lastDay = date.with({ month: Number.MAX_VALUE, day: Number.MAX_VALUE }); // 2021-12-31
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
dayOfYear |
144 |
144 |
139 |
128 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
См. также
Temporal.PlainDateTemporal.PlainDate.prototype.with()Temporal.PlainDate.prototype.add()Temporal.PlainDate.prototype.subtract()Temporal.PlainDate.prototype.yearTemporal.PlainDate.prototype.dayTemporal.PlainDate.prototype.dayOfWeekTemporal.PlainDate.prototype.daysInYear
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/dayOfYear