Date Difference

Calculate the exact difference between two dates in days, weeks, months, and years.

Pick a start and end date and this calculator returns the gap two ways: rounded totals (days, weeks, and approximate months and years) plus a precise calendar breakdown in years, months, and days. The two views can legitimately disagree, and knowing why saves you from second-guessing the tool.

Exact days, approximate months — by design

The day count is exact. Date-only values parse as UTC midnight, so daylight-saving transitions never shave or add an hour to the math — a common defect in date calculators that use local-time arithmetic. Weeks are simply days divided by 7, floored.

Months and years are labeled Approx because there is no exact answer: the tool divides total days by 30.44 (the average Gregorian month) and 365.25, then floors. This produces occasional surprises. January 1 to December 31 of 2024 — nearly a full leap year — shows 365 days but 0 years, because 365/365.25 floors to zero. Extend the end date one day to January 1, 2025 and you get 366 days and 1 year.

The precise breakdown at the bottom takes the opposite approach: it walks the actual calendar, adding whole years, then whole months, then counting leftover days. When month lengths get awkward — say a start date on the 31st — the walk skips a month it cannot land in rather than inventing a negative day count, which is why January 31 to March 1 reports 0 months, 30 days instead of 1 month, minus-something.

Crossing a leap-year February
Input: 2024-01-31 to 2024-03-01
Output: 30 days; breakdown: 0 years, 0 months, 30 days
The same span in 2023 is 29 days — February 29 accounts for the difference.
An almost-complete leap year
Input: 2024-01-01 to 2024-12-31
Output: 365 days, 52 weeks, 11 months (approx), 0 years (approx); breakdown: 0 years, 11 months, 30 days
365 days falls just short of the 365.25-day divisor, so the approximate years figure floors to 0.
Two days that look like one
Input: 2024-02-28 to 2024-03-01
Output: 2 days
February 29, 2024 sits in between. In 2023 the identical-looking span is 1 day.

Questions people ask

Does the count include the end date?

No — it measures elapsed time, so January 1 to January 2 is 1 day, not 2. If you need an inclusive day count (hotel nights are exclusive, but rental-day and payroll conventions often are not), add 1 to the result yourself.

Why does entering the dates in reverse order fail?

The tool requires the end date to be on or after the start date and shows an error otherwise, rather than returning a negative or silently swapping. Swap the fields and recalculate.