Skip to content

Time & Date · Date Math

Date Add/Subtract Calculator

Find the date that's a number of days, weeks, months, years — or working days, skipping weekends and holidays — before or after another date. Month-end dates are handled the way people expect: 31 January plus one month is the end of February.

How this is calculated

Result = Start ± N units; months/years keep the day of the month, or use the last day if that month is shorter

Working days
Days that aren't weekend days or listed holidays; the start date itself isn't counted
Day 1 option
Counts the start date as the first day of the period (result one day earlier)

Adding days and weeks is plain counting. Months and years follow the calendar: 15 March + 1 month is 15 April, and when the target month is shorter the date moves to that month's last day — 31 January + 1 month is 28 or 29 February, not early March. Working days skip your weekend days and any holidays you list, which is how most deadlines and delivery estimates are counted.

Assumptions & sources

  • Dates are calendar dates (no time of day or time zones).
  • The start date isn't counted unless you turn on 'Count the start date as day 1'.
  • Holidays only matter when they fall on working days.
  1. 1ISO 8601 — Date and time format (week numbering, calendar dates) — International Organization for Standardization
  2. 2Calendrical Calculations (Reingold & Dershowitz) — Cambridge University Press

Calculator ID TIME-DATEADD-001 · version 2.0.0

Common questions

What is 31 January plus one month?

29 February in a leap year and 28 February otherwise — the last day of February, because February has no 31st. This calculator never spills over into March.

How are working days counted?

Starting the day after the start date, each day that isn't a weekend day or a listed holiday counts. Adding 1 working day to a Friday gives the following Monday.

Should the start date count?

It depends on the rule you're following. Legal and notice periods often exclude the start day; '30 days starting today' includes it. The 'Count the start date as day 1' option covers the second case.