Temporal.PlainDate.prototype.month
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 month
Zugriffseigenschaft von Temporal.PlainDate
Instanzen gibt eine positive Ganzzahl zurück, die den 1-basierten Monatsindex im Jahr dieses Datums darstellt. Der erste Monat des Jahres ist 1
, und der letzte Monat ist der monthsInYear
. Es ist kalender-abhängig.
Beachten Sie, dass im Gegensatz zu Date.prototype.getMonth()
der Index 1-basiert ist. Wenn der Kalender Schaltmonate hat, kann der Monat mit demselben monthCode
unterschiedliche month
Indizes für verschiedene Jahre haben.
Hinweis:
Verwenden Sie diese Eigenschaft nicht, um den tatsächlichen Monat, einschließlich seines Namens, zu identifizieren. Verwenden Sie dafür monthCode
. Verwenden Sie month
nur, um Monate im Kontext eines Jahres zu identifizieren oder ihre Reihenfolge zu bestimmen.
Der Setzugriff von month
ist undefined
. Sie können diese Eigenschaft nicht direkt ändern. Verwenden Sie die with()
Methode, um ein neues Temporal.PlainDate
Objekt mit dem gewünschten neuen Wert zu erstellen.
Beispiele
Verwendung von month
const date = Temporal.PlainDate.from("2021-07-01"); // ISO 8601 calendar
console.log(date.monthCode); // "M07"
console.log(date.month); // 7
const date2 = Temporal.PlainDate.from("2021-05-01[u-ca=chinese]");
console.log(date2.monthCode); // "M03"
console.log(date2.month); // 3; it is March 20 in the Chinese calendar
const date3 = Temporal.PlainDate.from("2023-05-01[u-ca=chinese]");
console.log(date3.monthCode); // "M03"
console.log(date3.month); // 4, although it is also March (M03)!
const date4 = Temporal.PlainDate.from("2023-04-01[u-ca=chinese]");
console.log(date4.monthCode); // "M02L"
console.log(date4.month); // 3, this month is a leap month, i.e. a duplicate February
Durchlaufen aller Monate eines Jahres
const year = Temporal.PlainDate.from("2021-07-14"); // An arbitrary date in the year
for (
let month = year.with({ month: 1 });
month.year === year.year;
month = month.add({ months: 1 })
) {
console.log(month.month);
}
Alternativ ist dies auch ein sicherer Weg (im Gegensatz zum Beispiel für den Tag):
for (let month = 1; month <= year.monthsInYear; month++) {
const monthDate = year.with({ month });
}
Monat ändern
const date = Temporal.PlainDate.from("2021-07-01");
const newDate = date.with({ month: 2 });
console.log(newDate.toString()); // 2021-02-01
Sie können auch add()
oder subtract()
verwenden, um eine bestimmte Anzahl von Monaten vom aktuellen Datum aus zu verschieben.
const date = Temporal.PlainDate.from("2021-07-01");
const newDate = date.add({ months: 3 });
console.log(newDate.toString()); // 2021-10-01
Standardmäßig beschränkt with()
den Tag auf den Bereich der gültigen Werte. Beide der folgenden setzen den Monat auf den letzten Monat des Jahres:
const date = Temporal.PlainDate.from("2021-07-01");
const lastMonth = date.with({ month: date.monthsInYear }); // 2021-12-01
const lastMonth2 = date.with({ month: Number.MAX_VALUE }); // 2021-12-01
Spezifikationen
Specification |
---|
Temporal proposal # sec-get-temporal.plaindate.prototype.month |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
Temporal.PlainDate
Temporal.PlainDate.prototype.with()
Temporal.PlainDate.prototype.add()
Temporal.PlainDate.prototype.subtract()
Temporal.PlainDate.prototype.year
Temporal.PlainDate.prototype.day
Temporal.PlainDate.prototype.monthCode
Temporal.PlainDate.prototype.daysInMonth
Temporal.PlainDate.prototype.monthsInYear