Spec-Zone.ru › JavaScript

Temporal.PlainMonthDay.prototype.monthCode

Baseline Ограниченная доступность

Эта функция не является Baseline, так как она не работает в некоторых наиболее широко используемых браузерах.

Свойство доступа monthCode экземпляров Temporal.PlainMonthDay возвращает специфичную для календаря строку, представляющую месяц этой даты. Оно зависит от календаря.

Обычно это M плюс двухзначное число месяца. Для високосных месяцев это код предыдущего месяца, за которым следует L (даже если он является производным от следующего месяца; например, в еврейском календаре Адар I имеет код M05L, а Адар II — код M06). Если високосный месяц является первым месяцем года, код — M00L.

Поскольку month является индексом в году, а PlainMonthDay не имеет года, свойство month для PlainMonthDay отсутствует. Следовательно, monthCode используется для представления месяца таким образом, который не зависит от года.

Сеттер свойства monthCode — undefined. Вы не можете изменить это свойство напрямую. Используйте метод with() для создания нового объекта Temporal.PlainMonthDay с желаемым новым значением.

Для общей информации и дополнительных примеров см. Temporal.PlainDate.prototype.monthCode.

Примеры

Использование monthCode

const md = Temporal.PlainMonthDay.from("07-01"); // ISO 8601 calendar
console.log(md.monthCode); // "M07"

const md2 = Temporal.PlainMonthDay.from("2021-05-01[u-ca=chinese]");
console.log(md2.monthCode); // "M03"

const md3 = Temporal.PlainMonthDay.from("2023-04-01[u-ca=chinese]");
console.log(md3.monthCode); // "M02L"

Изменение monthCode

const md = Temporal.PlainMonthDay.from("07-01");
const newMD = md.with({ monthCode: "M03" });
console.log(newMD.toString()); // 03-01

Для других календарей, если существует год, в котором месяц-день действителен, то месяц-день считается действительным, и, следовательно, может меняться базовый ссылочный год. Например:

const md = Temporal.PlainMonthDay.from({
  monthCode: "M02",
  day: 30,
  calendar: "hebrew",
});
console.log(md.toString()); // 1971-11-18[u-ca=hebrew]
console.log(md.toLocaleString("en-US", { calendar: "hebrew" })); // 30 Heshvan
// 30 Heshvan only exists in 1971, but this year is not a leap year
const newMD = md.with({ monthCode: "M05L" });
console.log(newMD.toString()); // 1970-03-08[u-ca=hebrew]
console.log(newMD.toLocaleString("en-US", { calendar: "hebrew" })); // 30 Adar I

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

Specification
Temporal
# sec-get-temporal.plainmonthday.prototype.monthcode

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

Desktop Mobile Server
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
monthCode
144
144
139
128
preview
144
139
95
No
No
144
No
1.4.0
2.7
26.0.0

См. также

  • Temporal.PlainMonthDay
  • Temporal.PlainMonthDay.prototype.with()
  • Temporal.PlainMonthDay.prototype.day

© 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/PlainMonthDay/monthCode

Spec-Zone.ru

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