Spec-Zone.ru › JavaScript

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

Спецификации

Спецификация
Temporal
# sec-get-temporal.plaindate.prototype.weekofyear

Совместимость с браузерами

Настольные Мобильные Серверные
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.PlainDate
  • Temporal.PlainDate.prototype.with()
  • Temporal.PlainDate.prototype.add()
  • Temporal.PlainDate.prototype.subtract()
  • Temporal.PlainDate.prototype.yearOfWeek
  • Temporal.PlainDate.prototype.dayOfWeek
  • Temporal.PlainDate.prototype.daysInWeek
  • Temporal.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API