Temporal.PlainDate.prototype.eraYear
Базовый уровень Ограниченная доступность
Эта функция не является Базовым уровнем, потому что она не работает в некоторых из наиболее широко используемых браузеров.
Свойство-аксессор eraYear экземпляров Temporal.PlainDate возвращает неотрицательное целое число, представляющее год этой даты в рамках эры, или undefined, если календарь не использует эры (например, ISO 8601). Индекс года обычно начинается с 1 (что более распространено) или 0, а годы в эре могут уменьшаться со временем (например, Григорианский до н.э.). era и eraYear вместе однозначно идентифицируют год в календаре, так же, как и year. Оно зависит от календаря.
В отличие от year, era и eraYear могут меняться в середине календарного года. Например, в Японии эра Рэйва началась 1 мая 2019 года, поэтому даты с 2019-01-01 по 2019-04-30 имеют { era: "heisei", eraYear: 31 }, а даты с 2019-05-01 и далее имеют { era: "reiwa", eraYear: 1 }, но year всегда равен 2019 (поскольку японский календарь использует год ISO 8601 в качестве арифметического года).
Для получения дополнительной информации о значениях era и eraYear для разных календарей см. свойство era.
Сет-аксессор eraYear — это undefined. Вы не можете изменить это свойство напрямую. Используйте метод with() для создания нового объекта Temporal.PlainDate с желаемым новым значением.
Примеры
Использование eraYear
const date = Temporal.PlainDate.from("2021-07-01"); // ISO 8601 calendar
console.log(date.eraYear); // undefined
const date2 = Temporal.PlainDate.from("2021-07-01[u-ca=gregory]");
console.log(date2.eraYear); // 2021
const date3 = Temporal.PlainDate.from("-002021-07-01[u-ca=gregory]");
console.log(date3.eraYear); // 2022; 0000 is used for the year 1 BC
const date4 = Temporal.PlainDate.from("2021-07-01[u-ca=japanese]");
console.log(date4.eraYear); // 3
Изменение eraYear
Вы можете установить eraYear только для календарей, которые их поддерживают. Например, календарь ISO 8601 не имеет эр. Обратите внимание, что вы должны предоставить era и eraYear вместе.
const date = Temporal.PlainDate.from("2021-07-01[u-ca=gregory]");
const newDate = date.with({ era: "bc", eraYear: 100 });
console.log(newDate.toString()); // -000099-07-01[u-ca=gregory]
const date2 = Temporal.PlainDate.from("2021-07-01[u-ca=japanese]");
const newDate2 = date2.with({ era: "meiji", eraYear: 1 });
console.log(newDate2.toString()); // 1868-07-01[u-ca=japanese]
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
eraYear |
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.era
© 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/eraYear