Problems › JavaScript › dates
Is it a leap year
A billing schedule needs to know whether February has 29 days.
- A year divisible by 4 is a leap year, except that a year divisible by 100 is not, unless it is also divisible by 400.
- Anything below year 1 is not a year at all.
isLeapYear(year: int) → bool
Where you start
function isLeapYear(year) {
}
Worked examples
| Call | Result |
|---|---|
isLeapYear(2024) | true |
isLeapYear(2023) | false |
isLeapYear(1900) | false |
isLeapYear(2000) | true |
Hint
The 400 rule wins over the 100 rule, which wins over the 4 rule. Order the checks accordingly.
Reference solution in JavaScript
function isLeapYear(year) {
if (year < 1) return false;
if (year % 400 === 0) return true;
if (year % 100 === 0) return false;
return year % 4 === 0;
}