Quick answer
Apply all three tests in order. 1900 was not a leap year and 2100 will not be, which is exactly what the divisible-by-four shortcut gets wrong.
The three tests
A year is a leap year if it is divisible by 4. Unless it is divisible by 100, in which case it is not. Unless it is also divisible by 400, in which case it is after all. Applied in that order the rules are unambiguous and take a moment to check.
So 2024 is a leap year (divisible by 4). 1900 is not (divisible by 100, not by 400). 2000 is (divisible by 400). Over a 400-year cycle there are 97 leap years rather than 100, which is the whole point of the correction.
Use this guide with the right tool: Open the Leap Year Calculator for whether a selected year follows the Gregorian leap-year rule. If the question shifts, compare it with the Day of Year Calculator or the Days Left in Year Calculator.
What the correction is correcting
A tropical year is about 365.2422 days. The Julian calendar's simple four-year rule assumes 365.25, overshooting by roughly eleven minutes a year. That is trivial annually and accumulates to about three days every four centuries.
By the sixteenth century the drift had pushed the equinox about ten days from where the ecclesiastical calendar expected it. The Gregorian reform dropped those days and added the century rules to stop the drift recurring. The remaining error is about one day in 3,200 years.
Where the shortcut actually bites
Most people will never encounter a century year that matters — 1900 is beyond living memory and 2100 is decades away. But software outlives its authors, and a date library with a divisible-by-four rule will be wrong for the whole of 2100.
There is also a well-documented inverse error in older spreadsheet software, which treats 1900 as a leap year for compatibility reasons. That means date arithmetic crossing 29 February 1900 in those tools is off by a day, and it is a real source of discrepancy in historical financial data.
Consequences you can check
A leap year has 366 days, February has 29, and every date from 1 March onwards shifts one weekday further than it otherwise would. That last effect is why the same date does not simply advance one weekday per year.
It also means day-of-year numbers differ: 1 March is day 60 in a common year and day 61 in a leap year. Any system that stores an ordinal day without its year cannot be resolved back to a date.
Worked example
Work through it with your own dates and the difference will usually be obvious. If it is not, the convention in use is the first thing to check.
Common mistakes to avoid
- Using only the divisible-by-four test. It is wrong for three century years in every four. 2100 is the next one.
- Adding leap days by hand to a span. Direct date counting includes them automatically. Manual adjustment double-counts.
- Trusting spreadsheet dates before March 1900. Some spreadsheet software treats 1900 as a leap year for legacy compatibility, shifting historical calculations by a day.
Use the right calculator
The tools below apply this method directly. Where a result depends on a convention, the page says which one it used.
Frequently asked questions
Why is 2000 a leap year but 1900 not?
2000 is divisible by 400, which reinstates it. 1900 is divisible by 100 but not 400, so it is excluded.
How accurate is the Gregorian calendar?
The remaining drift is about one day in 3,200 years, which is why no further correction has been thought worth making.
Do all countries use these rules?
For civil dates, effectively yes. Countries adopted the Gregorian calendar at different times, which matters for historical dates but not for current ones.


