Date Adder

Add or subtract days, weeks, months or years from any date, count only workdays if you need to, and see the weekday and the gap between the dates.

Date arithmetic happens locally in your browser. The dates you enter are never stored or sent anywhere.

Mode
Result date
—
Calendar days between
—
Weekdays (Mon–Fri) between
—

Plain calendar arithmetic — no holiday calendars included, so check national holidays yourself. Not legal or travel advice.

How It Works

Every calculation is done on plain calendar dates pinned to 12:00 UTC — never to your device's local midnight. That small trick removes the whole class of daylight-saving bugs: a DST day is 23 or 25 hours long locally, so midnight-based arithmetic drifts off by one around the switchovers, while noon-to-noon math over UTC's fixed 86 400-second days is exact. The final date is then rendered with Intl.DateTimeFormat in your locale, so the layout matches your language without touching the arithmetic.

Month jumps and the February 29 rule
Adding months or years keeps the day-of-month when the target month has it. When the target month is shorter, the date clamps to its last day and the page says so: February 29 plus one year in a non-leap year becomes February 28 (the same clamp that turns the 31st into the 30th in April). There is no reverse expansion — February 28 plus a year stays February 28 even when a leap year waits at the end.
Workdays: the exact rule
With 'skip weekends' on and the unit set to days, the counter steps one calendar day at a time and only counts days from Monday to Friday; Saturdays and Sundays are jumped over, not banked. If your start date is itself a weekend, the first counted workday is the Monday after it. Holiday calendars are deliberately not included.
Including the start date
The toggle changes the distance counts, not the result: with it on, the start date itself counts as day one in both the calendar-day and weekday totals, and the weeks-and-days breakdown shifts with them. It is the difference between 'thirty days from today' and 'day 30 including today', which is how contracts and due-date lists often speak.

Frequently Asked Questions

Does it account for public holidays?

No — this is the honest limitation. 'Skip weekends' only excludes Saturdays and Sundays, so a run of workdays across Christmas or Eid counts those days as normal working days. If holidays matter, add the few dates from your country's calendar yourself, or shorten the result by each holiday the range crosses.

Why does the input look like 2026-09-25 but the result reads 'September 25, 2026'?

The input follows ISO 8601 (YYYY-MM-DD), the one numeric date format without regional ambiguity — 03/04 can be March or April, 2026-04-03 cannot. The result is then displayed through your locale's own conventions with Intl.DateTimeFormat, which is why the long form matches your language while the stored value stays unambiguous.

What happens to February 29 when I add a year?

It clamps down: February 29, 2024 plus one year lands on February 28, 2024… of the target year — February 28, 2025 — because no 29th exists there, and the page shows a note about it. The same rule protects any over-long day (the 31st into a 30-day month). Coming back the other way is plain arithmetic: February 28, 2025 plus one year is February 28, 2026, and it does not silently re-expand to a leap February 29.

Are months and weeks fixed sizes in this calculator?

Weeks are: one week is always seven days. Months are calendar months, so adding three months spans 89 to 92 days depending on which ones you cross — the same way 'the 15th of next month' works in ordinary speech. If you need an exact day count, use the days unit and read the distance line.

Is anything uploaded to a server?

No. The arithmetic is plain JavaScript on UTC timestamps running in your browser — no due-date, wedding or deadline information ever leaves your device, and the page works offline once loaded.