Temporal.PlainDate.prototype.daysInMonth
Базовый уровень Ограниченная доступность
Эта функция не является Базовой, потому что она не работает в некоторых из наиболее широко используемых браузеров.
Свойство-акцессор daysInMonth экземпляров Temporal.PlainDate возвращает положительное целое число, представляющее количество дней в месяце этой даты. Оно зависит от календаря.
Обратите внимание, что количество дней в месяце не всегда равно day последнего дня месяца, в редком случае, когда в месяце может быть пропущено несколько дней.
Сет-акцессор для daysInMonth — undefined. Вы не можете изменить это свойство напрямую.
Примеры
Использование 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
Изменение на предпоследний день месяца
Вы можете использовать daysInMonth, чтобы перейти к предпоследнему дню месяца:
const date = Temporal.PlainDate.from("2021-07-01");
const secondLastDay = date.with({ day: date.daysInMonth - 1 });
console.log(secondLastDay.toString()); // 2021-07-30
Однако это не совсем безопасно, поскольку daysInMonth не гарантирует никакой связи с индексом дня. Вот более безопасный способ получить предпоследний день:
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
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
daysInMonth |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
См. также
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
© 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/PlainDate/daysInMonth