Leap Years Between Dates Calculator
Count Gregorian leap years, exact Feb 29 leap days, century exceptions, and the first and last leap year inside any date span.
| Test year | Divisible by 4 | Divisible by 100 | Divisible by 400 | Gregorian result |
|---|---|---|---|---|
| 2024 | Yes | No | No | Leap year |
| 1900 | Yes | Yes | No | Common year |
| 2000 | Yes | Yes | Yes | Leap year |
| 2100 | Yes | Yes | No | Common year |
| 2400 | Yes | Yes | Yes | Leap year |
| 2025 | No | No | No | Common year |
| Metric | Formula | Includes endpoints? | Use for |
|---|---|---|---|
| Leap year test | year mod 4 = 0 and (mod 100 not 0 or mod 400 = 0) | Year only | Classifying a year |
| Leap years in year range | floor(y/4) - floor(y/100) + floor(y/400) | Set by mode | Fast inclusive year counts |
| Leap days in exact span | Count Feb 29 dates between adjusted start and end | Set by endpoint option | Contracts, ages, elapsed days |
| Century exceptions | Years divisible by 100 but not 400 | Same year bounds | Finding skipped leap years |
| Block | Start year | End year | Leap years | Leap days in span |
|---|---|---|---|---|
| Waiting | - | - | - | - |
| Calendar method | Leap rule | Leap years per 400 | Century handling | Calculator handling |
|---|---|---|---|---|
| Gregorian | 4, except 100, unless 400 | 97 | 1900 no, 2000 yes | Main calculation |
| Proleptic Gregorian | Same rule before 1582 | 97 | Same pattern | Same math, all dates |
| Julian comparison | Every year divisible by 4 | 100 | All century years leap | Shown as comparison only |
| Exact date span | Checks Feb 29 date position | Varies by boundaries | Uses Gregorian test | Leap day card |
Years arenât cubed blocks of time; theyâre not even all equal. Leap days mean we rely on leap years to keep seasonal and solar years aligned, so the calendar is a patchwork. It follows that if you want to know how many leap years there are between two given dates, it isnât as simple as dividing one by the other. Cross a century line and math shifts.
So the basic rule is: if the year is divisible by four, itâs a leap year. Thatâs simple enough to memorize but of course, it gets complicated with exception. Every hundred years, we break the rule; a year divisible by one hundred isnât normaly a leap year. We skip over extra day so that on average, number of days in each year comes closer to true solar year. But then we have an exception to the exception. A century year thatâs also divisible by four hundred IS a leap year. So 2000 was a leap year, and 2100 wonât be.
How to Count Leap Years
This is where most people goes wrong in their calculations. Do you include the year 2000? What about 1900 or 2100? The calculator does all of this for you. No more guesswork on conversions and coefficients.
Thereâs no room for confusion, it allows you to clearly state what you want âbetweenâ to mean. Do you count each leap year within your range? Or do you count the number of actual February twenty-ninth days in that range? Those are two distinct question; two different answers.
And then thereâs the matter of endpoints. Did you know that February 29th only occur every four years? And if you begin a project on February 29th, whether it counts depends on whether your range include that start date. Unless you include it in your range. But what if you donât want to include the starting date? What happens when thereâs a leap day at the beginning of your period? The tool offers an option to treat start/end dates as open/closed limits. Thatâs really important if youâre trying to calculate age or a mortgage payment (a fraction of a day can make the difference). In other words: it makes you describe what level of detail of time you work with.
The range can be broken up into blocks as well. When you see centuries or decades, leap years shows the rhythm of the calendar. And what you find with a leap year is that they donât get spread out evenly. In the four-hundred-year cycle there are going to be ninety-seven leap years (every fourth year minus every hundredth year plus every four-hundredth year). You can see how the Gregorian calendar has fixed the failure of the Julian system in the reference table.
Why? Because, as it turns out, the Julian calendar is slightly off; by about a day in 128 years. Thatâs why the Gregorian calendar adjusts: It skips three leap days every four-hundred years. With the proleptic option, the Gregorian rules gets extended backwards to make it easier to compare dates before fifteen-hundred. For calculating your birthday or estimating how much money will be needed for retirement, however, the regular old Gregorian rule is what matters.
Itâs a strange birthday; a February twenty-ninth. In those years when it isnât a leap year, people who was born then tend to celebrate it either on the twenty-eighth of February or else on the first of March. According to this, though, most of them just pick February twenty-eighth or March first. Youâre either born on that day and the calculator has it for you, or it doesnât. There is no room for interpretation and no wiggle room. Thatâs what we want, right? Thatâs what a calculator does: It tells us for certain how many times something happened.
The calendar is an example of how you canât understand something until youâve learned about its exceptions. In order to calculate leap years, you must honor the oddness of our planetâs orbit around the sun; it doesnât always follow the same pattern. A leap year is the adjustment that keeps the calendar and the seasons in sync. If youâre charting a trend over time, or if youâre calculating a mortgage at 30 years, you need to take these quirks into account to get your count correct.
The centuries that arenât leap years throw off the pattern. But once you recognize them, you see the pattern. The calendar works just like a machine with its own set of rules; you would of had to know what skips to measure time accurately.

