Date Difference

Measure the gap between two dates in years, months, days, weeks and working days.

Runs on your deviceCalculatorsWorkingNo account needed

What this tool does

Date Difference answers with a small table, one row per range and six columns: the From and To dates as you gave them, the calendar breakdown in years, months and days, the flat day count, weeks plus any leftover days, and the number of Monday-to-Friday working days. The years-months-days figure borrows from the previous month the way a calendar does rather than dividing by an average month length, so leap days, February and the thirty-one-day months all land where they should. Copy output hands you the whole table as CSV rather than a screenshot's worth of text.

The two date fields cover the ordinary case, and the paste box covers the rest. Write one range per line as 2024-01-01 to 2024-12-25, with an arrow or the word until in place of "to", and put an optional "Label:" in front to name the row. Every line is measured in the same pass and gathered into that one table. The word today works wherever a date does, an empty field means today as well, and a range typed back to front is still measured — in the order that gives a positive answer, with the From and To columns left as you typed them, which is the only sign that the pair was counted backwards.

Three limits are worth knowing before you quote a number from it. Working days here mean Monday to Friday and nothing more: public holidays are not deducted and there is no field to supply them, so any range crossing Christmas or Easter reads high — Date Add & Subtract is the sibling that accepts a holiday list. The tool also deals in whole calendar dates with no time of day, so a gap that runs from 09:00 on one day to 17:30 on another is beyond it, and Time Duration is the one that fits clock times and timesheets. The third is a rough edge rather than a rule: the calculation also produces a whole-month count, an hours figure and a minutes figure, but the results panel draws the table alone, so those three numbers are worked out and then dropped before they reach the screen.

One quirk of the paste box is worth spelling out: the splitter takes the first "to" it finds, and the letters t-o sit inside Oc-to-ber, so a row written as 1 October 2024 to 5 October 2024 is cut in the middle of the month name and refused — and since one unreadable line stops the whole run, the rows around it go unmeasured too. Write those rows in ISO form, or type the dates into the two fields, where every accepted format — YYYY-MM-DD, DD/MM/YYYY, 15 June 1990, June 15, 1990 — is read directly. All of this is arithmetic performed in this browser tab; the dates you type are never uploaded.

How to use it

  1. Fill in the two dates. From and To accept YYYY-MM-DD, DD/MM/YYYY, 15 June 1990 or the word today. Either left blank means today, so the tool opens as a countdown from today to 1 January 2030 until you replace a value.
  2. Or paste a list of ranges. One per line, as "2024-01-01 to 2024-12-25" or "Contract: 2024-03-15 → 2024-06-30". The fields are ignored while the box has content, and each line becomes a row in the results table.
  3. Decide whether the end date counts. Count the end date too adds the closing day to every range, which turns a Monday-to-Friday span from 4 days into 5. Leave it off for elapsed time, switch it on for inclusive spans such as a stay or a booking.
  4. Read the table. Columns run From, To, Years/months/days, Days, Weeks and Working days, with a row for every range you gave. The hint beside the Copy output button restates the first row in words, or counts the ranges when there is more than one.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

Counting a notice period or a deadline

The working-day total tells you how many Mondays to Fridays actually sit inside a range, which is rarely what the calendar-day count suggests.

Seeing how long until an event

Leave the From field empty so it means today, put the event date in To, and the countdown updates itself every time you run the tool.

Measuring a stay, a booking or a leave request

Turn on the inclusive count so the last day is included, which matches how hotels, holiday allowances and rota software count nights and days.

Checking several contract terms at once

Paste each agreement on its own line with a label in front, and the table shows every term side by side instead of one calculation at a time.

Working out length of service

The years-months-days breakdown gives the figure an HR system or a pension statement would use, rather than a day count divided by 365.

Questions

Does a range starting 03/04/2024 begin in April or in March?
In April, on the third. Slash-separated dates are read day first, in the British order, so an American date typed straight in will be misread. Use YYYY-MM-DD when you want no ambiguity at all.
Are public holidays taken out of the working days?
No. The working-day figure counts every Monday to Friday in the range, bank holidays included, and there is nowhere here to list exceptions. Date Add & Subtract is the tool that takes a list of holidays to skip.
Why is Monday to Friday four days rather than five?
Because the count is elapsed time between the two dates, and four days pass between them. Switch on Count the end date too when you want the closing day included, and the same range becomes five.
What happens if the end date is earlier than the start?
It still works, and the answer comes back positive, because the pair is measured in whichever order gives a positive figure. The row keeps your dates in the order you typed them, so the swap is visible in the From and To columns, but nothing on the page labels that row as reversed.
Can I get the gap in hours or minutes?
Not from the screen. The calculation does produce both — the day count times 24 and times 1,440 — but the results panel renders the table only, so neither figure is shown. Multiply the days yourself, bearing in mind that a range crossing a daylight-saving change is an hour out either way.
Why does 31 January to 28 February show as 28 days, not one month?
A month is only complete when the calendar reaches the same day number again, and February never has a 31st. The years-months-days breakdown reflects that; the flat day count is unaffected by it.
Can I measure more than one range at a time?
Yes. Put one range per line in the input box, optionally with a label, and each is measured separately and listed in a table. The two date fields are only used when that box is empty.
Are the dates I enter sent anywhere?
No. The whole calculation is date arithmetic performed in this browser tab, so nothing is transmitted or stored, and the tool keeps working with the network switched off.

Related tools