Date Add / Subtract
Add or subtract days, weeks, months or years from any date.
Overview
The Date Add / Subtract tool shifts any date forward or backward by a chosen number of days, weeks, months, or years and shows the resulting calendar date. Enter a starting point, pick a unit, and type a positive or negative integer — the tool returns the new date along with its weekday so you can sanity-check that the new day really lands on a Tuesday like you expected.
Useful for project managers planning a release one quarter from kick-off, lawyers computing a statutory response deadline, accountants invoicing on net-30 terms, and parents working out when a baby will turn eighteen months old.
How it works
The arithmetic uses the proleptic Gregorian calendar via DateTime methods that respect month length and leap years. Adding months walks the month index and clamps the day if the target month is shorter — adding one month to January 31 yields February 28 or 29, not "March 3." Adding years preserves the month and day except for February 29 in non-leap years, which clamps to February 28.
Day and week arithmetic is simple integer addition of 24-hour units, so daylight-saving transitions do not skew the result. If you need an exact "same wall-clock time in the same zone" shift, prefer the calendar-aware day unit over raw 24-hour additions.
Examples
2026-01-31 + 1 month → 2026-02-28
2024-02-29 + 1 year → 2025-02-28
2026-05-18 + 90 days → 2026-08-16 (Sunday)
2026-12-25 − 6 weeks → 2026-11-13
FAQ
How are end-of-month dates handled?
The result clamps to the last valid day of the target month. Adding a month to March 31 lands on April 30, not May 1, which matches the ISO 8601 duration arithmetic rules.
Does it support business days?
No, this tool advances by calendar days. For business-day arithmetic that skips Saturdays, Sundays, and optional holidays, use the working-days calculator.
Can I add a duration like "1 year 2 months 3 days"?
The interface accepts one unit at a time. Apply units in sequence — years first, then months, then days — to get a deterministic result that matches the ISO 8601 ordering.
What about leap seconds?
Civil-time arithmetic does not include leap seconds — the underlying ticks model treats each day as exactly 86,400 seconds, which is the same convention used by Unix epoch time.
Is there a maximum year?
Years from 1 through 9999 are supported, matching the .NET DateTime range.