Date Difference Calculator
This gives the difference between two dates as years, months and days, which is how a person would actually say it. Nobody describes a length of service as 9,497 days. They say twenty-six years. The distinction matters because a calendar breakdown is not a simple division: months are between 28 and 31 days long, so a period cannot be converted into months by dividing by any fixed number without introducing error. The method here is the one a person uses intuitively. Count whole years from the start date, then whole months from there, then the days left over. That gives an answer that is exactly right and that reconciles with a calendar, which dividing by 30.44 never quite does. It matters for anything with a legal or contractual edge to it: length of service for leave entitlements, the age of a child for a school cut-off, how long a fixed term has left to run, or how long you have held an asset. The calculator also shows the total expressed wholly in each unit, since some purposes want the single number instead. If the two dates are the same day of the month, the days figure is zero and the answer is a clean number of years and months.
Counted the way a person counts: whole years first, then whole months, then the days left over. That reconciles with a calendar in a way that dividing by an average month length does not.
How it works
The years figure is the difference in calendar years, reduced by one if the later date has not yet reached the earlier date's month and day. The months figure is then counted from that anniversary, again reduced if the day of the month has not been reached. Whatever remains is the days, taken from the length of the actual preceding month rather than an average. Total days is the raw difference in milliseconds divided by 86,400,000. Total months counts whole calendar months, and total weeks is the day count divided by seven.
Worked example
Take the defaults, 15 January 2000 to 15 January 2026. Counting whole years from the start gives 26, and because the later date is the same day of the same month, no partial year remains, so the answer is 26 years, 0 months, 0 days. Expressed wholly in months that is 312, since 26 x 12 = 312. In days it is 9,497, which is more than 26 x 365 because seven leap days fall in the period: 2000, 2004, 2008, 2012, 2016, 2020 and 2024. That gap between 9,490 and 9,497 is exactly why dividing by a fixed number does not work.
Related calculators
- Days Between Dates: a single total rather than a breakdown.
- Age: the same breakdown against a birthdate.
- Business Days: working days only.
- Hours to Decimal: shorter spans, for payroll.