Polyatic Date Duration Calculator
All tools

Date Duration Calculator

Three date tools in one: duration, add/subtract, and business days minus US federal, UK bank or your own public holidays.

Start date
End date
Total days
Total weeks
Total hours

Nothing leaves your browser. Every date is handled with timezone-safe calendar math on your own device — no account.

Three questions people ask a date calculator

Almost every date problem is one of three things, so this page does all three side by side. Duration answers “how long between these two dates?” in both a human breakdown (years, months and days) and running totals (days, weeks, hours). Add / subtract answers “what date is 90 days — or 3 months — from here?” and moves in either direction. Business days answers “how many working days are in this range?” by counting Monday to Friday. All three recompute the instant you change any field; there is no button to hunt for.

The include-end-date toggle, and why it matters

This is the number-one reason two date calculators disagree. Counting from 3 June to 5 June gives 2 if you mean elapsed time (two nights in a hotel, two days until a deadline) and 3 if you mean the days themselves (a festival that runs “the 3rd through the 5th” touches three calendar days). Neither is wrong — they answer different questions — so instead of quietly picking one, the duration mode gives you a checkbox and states which it used. The gap is always exactly one day. Leave it off for “time between”; turn it on for “count the days inclusive”.

Timezone-safe calendar math: no daylight-saving off-by-one

A date like 2024-03-10 is a whole calendar day, not a moment in time, and this tool keeps it that way. Every date is pinned to midnight UTC and all the arithmetic — day differences, month adds, weekday tests — reads the UTC parts of that date. UTC has no daylight-saving jumps, so “add one day” is always exactly +86,400,000 milliseconds → the next calendar date, and a span that crosses a spring-forward or fall-back boundary counts whole days cleanly. A calculator built on your local clock can slip: a date sitting near midnight in a DST zone can round onto the previous or next calendar day around the switch, and you get an answer that is one day off for no visible reason. Doing the math in UTC removes that entire class of bug — it is called out in a comment at the top of this tool's code.

Adding months: the clamping rule

Months are different lengths, so “one month after 31 January” is genuinely ambiguous — there is no 31 February. This tool clamps to the last valid day: 31 January + 1 month = 28 February, or 29 February in a leap year. Subtraction mirrors it: 31 March − 1 month = 28/29 February, not 2 March. That is the convention nearly every date library follows, but it has a consequence worth knowing — adding one month twice is not always the same as adding two months, because the first clamp can lose a day or two. Adding days or weeks, by contrast, is exact and never clamps.

Leap years and 29 February

Day counts use the true length of every month, so leap days are neither dropped nor double-counted. From 29 February 2020 to 29 February 2024 is exactly 4 years, 0 months, 0 days — and 1,461 total days, the extra one being the leap day of 2024. Across a non-leap year the same calendar gap is a day shorter. Because the arithmetic walks the real calendar rather than assuming a flat 30- or 365-day period, February with 28 or 29 days is always handled correctly.

Business days — and the holidays that come off

The business-days mode counts weekdays, Monday through Friday, in the inclusive range from your start date to your end date, both ends included when they fall on a weekday. A single weekend (Friday to the following Monday) is 2 business days; a Monday-to-Friday week is 5. Then it subtracts the public holidays. You can pick a ready-made list — US federal, or UK bank holidays for England and Wales — and you can paste your own on top: one YYYY-MM-DD per line, a trailing note like 2026-12-25 Christmas ignored, blank lines and duplicates tolerated. The two sets are merged, and a date in both comes off once.

Take the Christmas run 21 December 2026 to 4 January 2027. Weekends out, that is 11 weekdays. Choose the UK preset and it derives 25 December (a Friday), 28 December (the substitute Monday, because Boxing Day lands on a Saturday that year) and 1 January (a Friday) — the answer becomes 8. Choose the US preset and the same window gives only 25 December and 1 January, so it reads 9. One range, three different right answers, and you no longer have to know the dates to get them.

How the preset dates are worked out

There is no stored table of dates behind the drop-down — a stored table goes stale the year nobody updates it, and is then confidently wrong. Instead each holiday is kept as its rule and evaluated for the year you asked about, with that rule shown beside the date so you can check the derivation rather than trust it. Fixed dates are simple (4 July). Weekday rules are counted from the first of the month: “third Monday in January”, “fourth Thursday in November”, “last Monday in August”. Good Friday and Easter Monday hang off Easter Sunday, computed with the Meeus–Butcher Gregorian algorithm, which is why the tool knows Easter is 5 April 2026 and 28 March 2027 without being told.

The two countries then treat weekend clashes differently, and the difference is visible in the output. A US federal holiday on a fixed date shifts if it lands on a weekend — Saturday to the Friday before, Sunday to the Monday after — so 4 July 2026 is a Saturday and the day off is Friday 3 July. UK fixed dates instead move forward to the next weekday that is not already a bank holiday, which is how a Saturday Boxing Day becomes Monday 28 December in 2026, and how a Saturday Christmas plus a Sunday Boxing Day become Monday 27 and Tuesday 28 December in 2027. Ask for any year — 2043, if you like — and the rules run for that year.

The honest limits are worth stating, because a rule can only produce what the rule contains. The presets are the standing statutory holidays only. One-off days that are announced rather than derived — a state funeral, a coronation, an extra jubilee bank holiday — are not in there, and neither are regional days: Scotland’s 2 January and St Andrew’s Day, Northern Ireland’s St Patrick’s Day and 12 July, US state holidays. Type those in yourself, and never read a preset as the complete list of non-working days for a year. Dates that fall on a Saturday or Sunday subtract nothing — they were never in the weekday count — and the result says so rather than silently ignoring them; the same goes for a date outside your range, and a line that is not a date is skipped and flagged instead of breaking the answer. Nothing is fetched and nothing you type is uploaded or remembered: the rules run in your browser, you read the count, you close the tab.

Reversed ranges and negative results

If you put the later date first, the duration mode still answers — as an absolute distance, so the years, months and days are never negative — and it notes that the range was reversed, so you know the direction flipped, not the size. If you want a genuinely signed answer (“what date is 40 days before this one?”), the add/subtract mode is the right tool: choose Subtract and read the earlier date directly.