Temporal.PlainMonthDay.prototype.monthCode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die Zugriffseigenschaft monthCode von Temporal.PlainMonthDay-Instanzen gibt eine kalenderbezogene Zeichenkette zurück, die den Monat dieses Datums darstellt. Sie ist kalender-abhängig.

In der Regel ist es M plus eine zweistellige Monatszahl. Bei Schaltmonaten ist es der Code des vorhergehenden Monats, gefolgt von L (selbst wenn es konzeptionell ein Derivat des Folgemonats ist; zum Beispiel hat im Hebräischen Kalender Adar I den Code M05L, aber Adar II hat den Code M06). Wenn der Schaltmonat der erste Monat des Jahres ist, lautet der Code M00L.

Da month ein Index innerhalb eines Jahres ist, PlainMonthDay jedoch kein Jahr hat, gibt es keine month-Eigenschaft für PlainMonthDay. Daher wird monthCode verwendet, um den Monat auf eine vom Jahr unabhängige Weise darzustellen.

Der Set-Zugriff von monthCode ist undefined. Sie können diese Eigenschaft nicht direkt ändern. Verwenden Sie die with()-Methode, um ein neues Temporal.PlainMonthDay-Objekt mit dem gewünschten neuen Wert zu erstellen.

Für allgemeine Informationen und weitere Beispiele siehe Temporal.PlainDate.prototype.monthCode.

Beispiele

Verwendung von monthCode

js
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"

Ändern von monthCode

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

Für andere Kalender, solange es ein Jahr gibt, in dem der Tag des Monats gültig ist, wird der Tag des Monats als gültig angesehen, und das zugrunde liegende Bezugsjahr kann sich daher ändern. Zum Beispiel:

js
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

Spezifikationen

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

Browser-Kompatibilität

Siehe auch