Date Difference Calculator
Work out the time between two dates
Pick a start and an end and the answer appears as you type: the calendar breakdown in years, months and days, the plain total in days, and the same span written every other way people ask for it.
Switch to Add or subtract and it runs the other direction — a start date, any mix of years, months, weeks and days, forwards or back.
Everything runs in your browser. The dates appear in the page address so you can bookmark or share a particular calculation; nothing is uploaded, stored or logged.
Two answers, and both are right
Ask how long it has been since 15 January 2000 and there are two honest answers:
26 years, 6 months and 11 days.
9,689 days.
They describe the same span. The first is a calendar breakdown, the second a count. Neither can be derived from the other, because a month is not a fixed length — and that is the source of most disagreement between date calculators.
The tool shows both, side by side, so there is nothing to reconcile.
Why calculators disagree
Three reasons, in rough order of how often they bite.
1. Whether the endpoints count
From Monday to Friday is four days if you count the gaps and five if you count the days. Both readings are in use — hotels count nights, contracts often count days — and a calculator that does not say which it means will be off by one for half its visitors. This one counts the gap: the difference between two dates, not the number of dates in the range.
2. Daylight saving
This is the interesting one, and it is invisible for eleven months of the year.
A calculator built the obvious way makes a date out of local midnight and divides the difference by 86,400,000 — the number of milliseconds in a day. But on the morning the clocks go forward, local midnight to local midnight is 23 hours, not 24. The division gives 0.958, which rounds down to zero.
So once a year, in every country that observes daylight saving, a naive date calculator will tell you that two consecutive dates are zero days apart. In 2026 that is 8 March in the United States and 29 March across most of Europe. Nobody catches it in testing, because testing happens in July.
This tool works in UTC, where there is no daylight saving and every day is exactly 24 hours. A calendar date has no time and no time zone attached to it, so the arithmetic should not have one either.
3. What one month means
See below. It is worth its own section.
One month after 31 January
28 February. Not 3 March.
February has no 31st, so the day is clamped to the end of the month rather than allowed to overflow into the next one. Every calendar application does this, and it is what people mean when they say “the same date next month”.
It has one consequence worth knowing, because it looks like a bug when you meet it: month arithmetic is not reversible.
31 January + 1 month = 28 February
28 February − 1 month = 28 January
You do not get back where you started. Nor is it associative: adding one month twice from 31 January gives 28 March, while adding two months in one step gives 31 March. Both results are correct under clamping; the arithmetic simply does not behave the way numbers do, because months are not numbers.
The practical version: if something has to happen on the last day of every month, set it to the last day, not to the 31st.
Whole months, whole weeks
From 1 January to 30 January, this tool says 0 months and 29 days. That surprises people who expected “almost a month”.
A month is counted when it completes — when the same date comes round again. It is the convention a lender uses for a monthly term, a landlord for a tenancy, and a court for a filing deadline, and it is the only one that gives a stable answer regardless of which month you started in.
The same applies to weeks: 10 days is 1 whole week and 3 days over, not 1.43 weeks.
Leap years, including the part people forget
A year is a leap year if it divides by 4 — except centuries, which must divide by 400.
So 2000 was a leap year and 1900 and 2100 are not. The exception exists because the Earth’s orbit is about 365.2422 days rather than 365.25, and the extra day every four years slightly overcorrects; skipping three leap days per four centuries pulls it back.
The 1900 case caused real damage: an early spreadsheet treated it as a leap year, and the bug was kept deliberately for compatibility, so a widely used serial-date scheme has a day in it that never existed.
Here, 29 February in a year that has no 29th is refused outright rather than quietly rolled forward to 1 March. An out-by-a-day answer is worse than no answer, because you cannot see it.
ISO week numbers
The “Add or subtract” result also shows the ISO 8601 week number, which appears on European delivery schedules and manufacturing plans and does not mean quite what it looks like.
Week 1 is the week containing the first Thursday of the year — equivalently, the week containing 4 January. Weeks run Monday to Sunday. The consequence is that the week-numbering year disagrees with the calendar year at both ends:
1 January 2027 is week 53 of 2026.
29 December 2025 is week 1 of 2026.
Which is why the tool always prints the year beside the week. “Week 53” next to the wrong year is the kind of mistake that looks plausible enough to act on, and lands a shipment a year out.
What this is for
Counting down to a date, working out a notice period, checking how long a project actually ran, calculating an age in days, or answering the question that starts every one of these: how long is that, really?
For deadlines measured in working days rather than calendar days — most legal and contractual ones — use the business days calculator instead, which skips weekends and any holidays you give it.
Frequently asked questions
How many days are between two dates?
Enter both dates and the count appears as you type, along with the same span written as weeks, months, hours, minutes and seconds. Both dates are counted on the calendar with no time of day, so the answer is a whole number and does not change with your time zone.
Why do other calculators sometimes give a different answer?
Usually one of two reasons. Some count both endpoints and some count neither, which shifts the total by one. And some build dates from local midnight, which is 23 hours long on the day the clocks go forward — enough to make two consecutive dates come out as zero days apart. This one works in UTC, where every day is exactly 24 hours.
What is one month after 31 January?
28 February — 29 in a leap year. The day is clamped to the end of the shorter month rather than overflowing into 3 March, because that is what a calendar app does and what people mean. It also means the arithmetic is not reversible: one month on and one month back from 31 January lands on 28 February.
Why does it say 0 months when there are nearly 30 days?
Months are counted whole. From 1 January to 30 January is 0 months and 29 days, because the month is not complete until the 1st comes round again. It is the same convention a lender uses for a monthly term.
Does it handle leap years?
Yes, including the century rule most people forget: 2000 was a leap year because it divides by 400, but 1900 and 2100 are not. A date of 29 February in a non-leap year is refused rather than quietly rolled into 1 March.
Can I work out a date in the future?
Switch to Add or subtract, set a start date and any mix of years, months, weeks and days, and choose whether to count forward or back. The result shows its ISO week number too.
Is my data sent anywhere?
No. Everything runs in your browser, and the dates appear in the page address only so you can bookmark or share a particular calculation.
