Temporal.PlainDate.prototype.daysInMonth

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The daysInMonth accessor property of calendar-dependent.

Note that the days in month is not always equal to the day of the last day of the month, in the rare case where a month may have a few days skipped.

The set accessor of daysInMonth is undefined. You cannot change this property directly.

Examples

Using daysInMonth

js
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

Changing to the second last day of the month

You can use daysInMonth to change to the second last day of the month:

js
const date = Temporal.PlainDate.from("2021-07-01");
const secondLastDay = date.with({ day: date.daysInMonth - 1 });
console.log(secondLastDay.toString()); / 2021-07-30

This is not totally safe, though, because daysInMonth is not guaranteed to have any connection with the day index. Here's a safer way to get the second last day:

js
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

Specifications

Specification
Temporal
# sec-get-temporal.plaindate.prototype.daysinmonth

Browser compatibility

See also

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant