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 monthCode Zugriffseigenschaft von Temporal.PlainMonthDay-Instanzen gibt einen kalenderabhängigen String zurück, der den Monat dieses Datums darstellt. Sie ist vom Kalender abhängig.

In der Regel ist es M plus einer zweistelligen Monatszahl. Für Schaltmonate ist es der Code des Vormonats gefolgt von L (selbst wenn es konzeptionell ein Derivat des folgenden Monats ist; zum Beispiel im hebräischen Kalender hat 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 unabhängig vom Jahr darzustellen.

Der Set-Accessor 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 gilt, dass solange es ein Jahr gibt, in dem der Monat-Tag gültig ist, der Monat-Tag als gültig angesehen wird und sich das zugrunde liegende Referenzjahr daher ändern kann. 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