Temporal.PlainDate.prototype.daysInMonth
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die daysInMonth Accessor-Eigenschaft von Temporal.PlainDate Instanzen gibt eine positive Ganzzahl zurück, die die Anzahl der Tage im Monat dieses Datums darstellt. Sie hängt vom Kalender ab.
Beachten Sie, dass die Anzahl der Tage in einem Monat nicht immer gleich dem Tag des letzten Tages des Monats ist, in dem seltenen Fall, dass in einem Monat ein paar Tage übersprungen werden.
Der Set-Accessor von daysInMonth ist undefined. Sie können diese Eigenschaft nicht direkt ändern.
Beispiele
>Verwendung von daysInMonth
const date = Temporal.PlainDate.from("2021-07-01");
console.log(date.daysInMonth); // 31
const date2 = Temporal.PlainDate.from("2021-02-01");
console.log(date2.daysInMonth); // 28; 2021 is not a leap year
const date3 = Temporal.PlainDate.from("2020-02-01");
console.log(date3.daysInMonth); // 29; 2020 is a leap year
const date4 = Temporal.PlainDate.from("2021-04-01[u-ca=chinese]");
console.log(date4.month); // 2
console.log(date4.daysInMonth); // 30; the Chinese 2nd month has 30 days
Wechsel zum vorletzten Tag des Monats
Sie können daysInMonth verwenden, um zum vorletzten Tag des Monats zu wechseln:
const date = Temporal.PlainDate.from("2021-07-01");
const secondLastDay = date.with({ day: date.daysInMonth - 1 });
console.log(secondLastDay.toString()); // 2021-07-30
Dies ist jedoch nicht völlig sicher, da daysInMonth keine garantierte Verbindung zum Tagesindex hat. Hier ist eine sicherere Methode, um den vorletzten Tag zu erhalten:
const date = Temporal.PlainDate.from("2021-07-01");
const secondLastDay = date
.with({ day: Number.MAX_SAFE_INTEGER })
.subtract({ days: 1 });
console.log(secondLastDay.toString()); // 2021-07-30
Spezifikationen
| Specification |
|---|
| Temporal> # sec-get-temporal.plaindate.prototype.daysinmonth> |
Browser-Kompatibilität
Siehe auch
Temporal.PlainDateTemporal.PlainDate.prototype.with()Temporal.PlainDate.prototype.add()Temporal.PlainDate.prototype.subtract()Temporal.PlainDate.prototype.yearTemporal.PlainDate.prototype.monthTemporal.PlainDate.prototype.dayTemporal.PlainDate.prototype.daysInWeekTemporal.PlainDate.prototype.daysInYear