Spec-Zone.ru › JavaScript

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

Спецификации

Спецификация
Temporal
# sec-get-temporal.plaindate.prototype.daysinmonth

Совместимость с браузерами

Десктопные Мобильные Серверные
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.PlainDate
  • Temporal.PlainDate.prototype.with()
  • Temporal.PlainDate.prototype.add()
  • Temporal.PlainDate.prototype.subtract()
  • Temporal.PlainDate.prototype.year
  • Temporal.PlainDate.prototype.month
  • Temporal.PlainDate.prototype.day
  • Temporal.PlainDate.prototype.daysInWeek
  • Temporal.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API