Temporal.PlainDate.prototype.weekOfYear
Базовый уровень Ограниченная доступность
Эта функция не является Базовой, поскольку она не работает в некоторых наиболее широко используемых браузерах.
Свойство-аксессор weekOfYear экземпляров Temporal.PlainDate возвращает положительное целое число, представляющее 1-основанный индекс недели в yearOfWeek этой даты, или undefined, если календарь не имеет четко определенной системы недель. Первая неделя года — это 1. Оно зависит от календаря.
Обратите внимание, что для ISO 8601 первые и последние несколько дней года могут быть отнесены к последней неделе предыдущего года или первой неделе следующего года. А именно, если неделя охватывает два года, она принадлежит тому году, в котором находится большинство ее дней. Чтобы получить год, к которому принадлежит weekOfYear, используйте свойство yearOfWeek, а не свойство year.
Сет-аксессор weekOfYear является undefined. Вы не можете изменить это свойство напрямую. Чтобы создать новый объект Temporal.PlainDate с желаемым новым значением weekOfYear, используйте метод add() или subtract() с соответствующим количеством weeks.
Примеры
Использование weekOfYear
const date = Temporal.PlainDate.from("2021-07-01");
console.log(date.weekOfYear); // 26
// If 01-01 is a Friday/Saturday/Sunday, it belongs to the last week of the previous year
const date2 = Temporal.PlainDate.from("2021-01-01");
console.log(date2.dayOfWeek); // 5
console.log(date2.weekOfYear); // 53; 2020 has 53 weeks
console.log(date2.yearOfWeek); // 2020
// Otherwise, it belongs to the first week of the year
const date3 = Temporal.PlainDate.from("2020-01-01");
console.log(date3.dayOfWeek); // 3
console.log(date3.weekOfYear); // 1
console.log(date3.yearOfWeek); // 2020
// Similarly, if 12-31 is a Monday/Tuesday/Wednesday, it belongs to the first week of the next year
const date4 = Temporal.PlainDate.from("2019-12-31");
console.log(date4.dayOfWeek); // 2
console.log(date4.weekOfYear); // 1
console.log(date4.yearOfWeek); // 2020
Изменение weekOfYear
PlainDate не поддерживает прямое изменение weekOfYear. Чтобы изменить неделю, вам нужно сначала вычислить разницу в неделях до нужной вам недели, а затем использовать add или subtract для соответствующей корректировки даты. Например, чтобы перейти к предыдущей неделе:
const date = Temporal.PlainDate.from("2021-07-01");
const previousWeek = date.subtract({ weeks: 1 });
console.log(previousWeek.toString()); // 2021-06-24
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
weekOfYear |
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.yearOfWeekTemporal.PlainDate.prototype.dayOfWeekTemporal.PlainDate.prototype.daysInWeekTemporal.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/weekOfYear