Date Add & Subtract

Shift a date forwards or backwards by days, weeks, months, years or working days.

Runs on your deviceCalculatorsWorkingNo account needed

What this tool does

Date Add & Subtract takes one start date, an amount and a unit, and returns the date you land on. The answer is given three ways at once: the full weekday-and-month form, the ISO form for pasting into a spreadsheet or a ticket, and the number of calendar days between where you started and where you finished. Leaving the start date blank uses today.

Calendar arithmetic is not simple addition, and the tool says so where it matters. Months and years are counted by month number, then clamped to the length of the target month: 31 January plus one month lands on 29 February in a leap year and 28 February otherwise, and the result carries a note saying the target month has no day 31. Years are handled as twelve months, so 29 February plus one year gives 28 February. Weeks are exactly seven days, and every calculation is done on whole UTC calendar dates, which keeps daylight-saving shifts out of the result entirely.

Choosing the business days unit changes the counting rule rather than the arithmetic: the tool steps one day at a time and only decrements the counter on a Monday to Friday, so five working days added to a Friday lands on the following Friday. Paste dates into the optional input box, one per line with an optional label like "Christmas: 2024-12-25", and those days are skipped too. The number of weekend days and holidays stepped over is reported with the answer, though the line beneath it repeats how many dates the list held rather than how many of them actually fell inside the range. The weekend is fixed at Saturday and Sunday and cannot be moved, no public holidays are built in, and the pasted lines are read on every run, so an unreadable date stops the calculation even under a unit that would never have looked at the list.

The whole calculation runs in this browser tab. Nothing is uploaded, so a list of internal deadlines or client holiday dates stays on your machine, and the tool keeps working with the network disconnected. The real boundary is granularity: it works in whole dates only, with no hours, minutes or time zones, so it cannot answer questions about a deadline at 17:00 in another region. It also handles one start date per run — the input box is the holiday list, not a column of dates.

How to use it

  1. Set the start date. Type YYYY-MM-DD, DD/MM/YYYY, "15 June 1990" or "June 15, 1990". The word today works, and so does leaving the field empty.
  2. Choose Add or Subtract, and the amount. The amount is a whole number from zero upwards, up to a million. There is no negative amount — switch the operation to Subtract instead.
  3. Pick the unit. Days, weeks, months, years, or business days counted Monday to Friday. Weeks are seven days; months and years clamp to the end of a short month.
  4. Add holidays if you are counting business days. One date per line in the input box, with an optional "label:" in front. The other four units make no use of them, but every line still has to parse as a date or the run stops with an error.

Processing & privacy

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

Common use cases

Working out a contractual deadline

A clause saying "within 14 working days of receipt" becomes a date, with bank holidays pasted in so they are skipped along with the weekends.

Payment terms on an invoice

Net 30 from the invoice date, in days rather than working days, so the due date matches what the payment terms actually say.

A notice period or renewal date

Three months from a signature date, with the month-end clamp made visible rather than left as a disagreement later.

Backdating from a fixed event

Subtract the lead time from a launch or hearing date to find the day the work has to start, and check which weekday that falls on.

Questions

Is my start date or holiday list uploaded?
No. The arithmetic runs in this browser tab, so nothing is transmitted or stored anywhere. A list of internal cut-off dates is as private as the tab it is typed into.
What counts as a working day?
Monday to Friday, minus any dates you paste into the input box. The weekend is fixed at Saturday and Sunday and cannot be changed, and no national holiday calendar is built in — if a bank holiday should be skipped, it has to be listed.
What happens when the target month is too short?
The day is clamped to the last day of that month, and the result says so. 31 May minus one month gives 30 April, and 31 January plus one month gives 29 February in a leap year, 28 February otherwise.
Can I add hours or minutes?
No. This works on whole calendar dates, so there is no time of day, no time zone and no daylight-saving handling. Use Time Duration for clock arithmetic, or Time Zone Converter when the region matters.
Which date does a start of 03/04/2024 stand for?
It is read as 3 April 2024. Slash-separated dates are taken day first, so write them as 2024-04-03 if that ordering is ambiguous where you are.
Can I shift several dates in one run?
Not here — the input box holds the holidays, so one start date is calculated per run. Date Difference is the tool that accepts a list, measuring the gap between many pairs of dates at once.

Related tools