Date Calculator — Add or Subtract Days
Add or subtract years, months, weeks and days from any date to get the resulting date and weekday. Answers "what date is 90 days from today?"
Result date
Tuesday, December 15, 2026
ISO date
2026-12-15
Net offset
+90 days
Years and months are applied first, then weeks and days. Adding 1 month to Jan 31 lands on Feb 28 (or Feb 29 in a leap year): when the original day doesn’t exist in the target month it is clamped to that month’s last day, the usual convention for “same day next month”.
Adding and subtracting time from a date
Date arithmetic sounds trivial until months get involved. Days and weeks are fixed-length, so "45 days from now" is unambiguous. Months and years are not: they have 28 to 31 days, and leap years add a 29th of February every four years (with the century exceptions). This calculator takes a start date and a mix of years, months, weeks and days, and returns the resulting calendar date plus its day of the week.
The order of operations matters. This tool applies years and months first, then weeks and days. When the start day does not exist in the target month — 31 January plus one month, or 31 March minus one month — the day is clamped to the last valid day of that month rather than spilling into the next one. So 31 January + 1 month gives 28 February (29 in a leap year), which is what most people mean by "the same day next month".
Weeks and days are then added as a plain count of calendar days, which automatically absorbs any 29 February in the span. That is why adding "1 year" to 29 February 2024 produces 28 February 2025: the day arithmetic lands on the real next date, and 2025 has no 29th.
Common uses: contract and notice periods ("30 days from signing"), warranty and return windows, project milestones, prescription refill dates, and trivia like "what day of the week is 10,000 days from my birth". For the number of days between two dates you already know, use the Date Difference Calculator instead — this tool is for projecting a date you do not yet know.
Dates are handled as calendar dates at local midnight, so there is no timezone or daylight-saving drift in the result. Everything is computed in your browser.
Key formulas (reference)
result = startDate + sign × (years, then months) // day clamped to last valid day of target month + sign × (weeks × 7 + days) // counted as calendar days, leap days included sign = +1 for "add", −1 for "subtract"
Related tools
These free tools pair well with this page — open them in a new tab to finish your workflow.
Frequently Asked Questions
What does this calculator do?
It adds a duration to a date, or subtracts one, and shows the resulting calendar date and day of the week. You can combine years, months, weeks and days in a single operation — for example "3 months and 10 days from today".
How is "1 month" handled when the day does not exist?
Years and months are applied first. If the starting day does not exist in the target month — such as 31 January plus one month — the result is clamped to the last day of that month (28 or 29 February). This matches the common "same day next month" expectation.
In what order are the units applied?
Years and months together, then weeks and days. The order matters near month boundaries: adding one month then one day to 30 January is not always the same as adding one day then one month. This tool uses the months-first convention that most calendar software follows.
Are leap years taken into account?
Yes. Day arithmetic counts real calendar days, so spans that cross 29 February include that extra day automatically. Adding "1 year" to 29 February 2024 lands on 28 February 2025 because 2025 has no 29th.
Can I count the days between two dates instead?
That is a different calculation — use the Date Difference Calculator for the number of days, weeks and months between two specific dates. This tool is for shifting one date forward or backward by a known amount.
Does it use my local timezone?
Dates are treated as calendar dates at midnight local time, so there is no timezone drift. The "net offset" figure tells you the total number of days between the start and result dates.
What is the maximum range?
There is no practical limit for everyday use. The tool relies on the JavaScript Date object, which covers roughly ±273,790 years around 1970.