Get the number of days in a given month
Read day 0 of the next month for a 1-based month.
function daysInMonth({ year, month }) { const d = new Date(0); d.setUTCFullYear(year, month, 0); return d.getUTCDate(); }
Input & expected output
Input
{
"year": 2024,
"month": 2
}Expected output
29The edge case
Input
{
"year": 2026,
"month": 2
}Expected output
28Know the limits
- The original comment called the month zero-based, but new Date(year, month, 0) gives the length of a 1-based month; this page says so explicitly.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Get the number of days in given month from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Uses an explicit 1-based month in UTC; the original comment called the month zero-based although the code used 1-based months. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Compare two dates — Compare validated ISO calendar dates in UTC and return -1, 0 or 1.
- Add AM PM suffix to an hour — Turn an hour from 0 to 23 into a 12-hour label with am or pm.
- Calculate the number of days between two dates — Count whole calendar days between two YYYY-MM-DD dates.