Date Duration Calculator
How long between two dates, and what a date turns into when you add days or months
The same length, counted differently
- Nothing yet
- -
Working days
- Nothing yet
- -
One date a line, as 2026-12-25
About those dates
Nothing yet.
Subtracting one date from another feels like it should be arithmetic. The trouble is that none of the units hold still. Months come in four lengths, years in two, and twice a year a day is 23 or 25 hours long.
A month is not a length
1 Feb -> 1 Mar 28 days "one month"
1 Mar -> 1 Apr 31 days "one month"
1 Jan -> 1 Jan 365 days "one year"
1 Jan -> 1 Jan 366 days "one year" (leap)
A month is not a length. Neither is a year.Any answer given in months is therefore an answer to "how many times can I advance the calendar by one month without going past the end date", not a measurement. That is what people mean by it, and it is why the breakdown above and the totals below it will not multiply together.
The rule used here is the one every calendar application uses: months are counted first, from the start date, pulling the day of the month back when the target month is shorter. The remainder is then counted in days from wherever that landed. One handy side effect: add the answer back onto the start date and you land on the end date exactly.
Adding months, which does not commute
31 Jan + 1 month = 28 Feb
28 Feb + 1 month = 28 Mar
31 Jan + 2 months = 31 Mar
Adding one month twice is not the same as adding two,
because the first one has to round down to fit and the
answer never rounds back up.From 31 January, one month on is 28 February, because 31 February does not exist and every implementation rounds down. But two months on is 31 March, because the rounding happens once at the end, not twice along the way.
This bites in subscription billing more than anywhere else, and the answer is nearly always to keep the original day of the month as the anchor and clamp when you render, instead of storing the clamped date and adding to that.
Days that are not 24 hours
Sat 12:00 -> Mon 12:00, ordinary weekend 48 hours
Sat 12:00 -> Mon 12:00, clocks go forward 47 hours
Sat 12:00 -> Mon 12:00, clocks go back 49 hours
Two calendar days every time.Wherever the clocks move, two days a year are 23 and 25 hours long. So "days between" and "24-hour periods between" are different numbers, and both are shown. Calendar days counts dates, and that is what someone asking how many days until a birthday wants.24-hour days counts elapsed time, and that is what a timer measures.
The zone above is what decides when those transitions happen, and it also decides where a day begins. Two dates in Auckland and the same two dates in Los Angeles can be a different number of days apart.
Working days
Days off default to Saturday and Sunday and can be set to anything: much of the Middle East works Sunday to Thursday, and plenty of arrangements are not a five-day week at all. Holidays go in one per line and are only subtracted when they do not already fall on a day off, so a bank holiday landing on a Saturday costs nothing, which is both correct and annoying.
Whether the last day counts is a switch because both conventions are in common use. A contract saying "within 10 working days" almost always includes the last day; a duration between two events usually does not.
The ISO week number
Weeks run Monday to Sunday, and week 1 is the week containing the first Thursday of the year. So 1 January can fall in week 52 or 53 of the previous year, and 31 December can fall in week 1 of the next. That is why the week number is shown with its own year attached: "week 1 of 2027" is a different thing from "week 1 in 2027".
It is also why a report grouped by week number and joined to a table grouped by calendar year will lose or double a week every few years, unannounced.
Ages
An age is this calculation with today as the end date, and the years figure is the age. It is right for every purpose except the one legal edge case: someone born on 29 February has a birthday that exists once every four years, and jurisdictions disagree about whether they turn eighteen on 28 February or 1 March. The answer here is the 28th, being what the clamping rule gives and what most of the world uses.
Nothing is sent anywhere
The calculation runs in this page, using the time zone database your browser already carries. No dates leave the tab.