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
Спецификации
Совместимость с браузерами
| 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 |
См. также
© 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