Adding and subtracting dates, done properly
A date calculator sounds trivial until months get involved. Days and weeks are fixed lengths — a week is always seven days — but a month can be 28, 29, 30 or 31 days, and "one month from January 31" has no exact answer because February 31 does not exist. This calculator follows the convention used by calendar software and courts: years and months are applied first, on the calendar, and if the target month is shorter, the day clamps to its last day. Weeks and days are then applied as exact day counts. That is why January 31 plus one month gives February 28 (February 29 in a leap year), and why adding 30 days is not the same as adding one month — a difference that matters for deadlines, contracts and due dates.
How the calculation works
The step-by-step panel above shows both stages for your numbers: the date after the year/month part, then the final date after the week/day part. The net movement in days is also reported, because the same final date can be reached by different combinations — 1 month from October 12 is 31 days away, while 4 weeks is only 28.
Common jobs for this calculator
Working backwards from a deadline ("90 days before the filing date"), finding a warranty or probation end date, scheduling follow-ups a set number of weeks after an appointment, computing a delivery estimate, or checking what date a subscription renews. For business deadlines specifically — where weekends should not count — use the Business Date Calculator instead, and to count the gap between two dates you already know, use the Date Difference Calculator.
Worked example
From October 12, 2026, adding 30 days gives November 11, 2026 — a Wednesday. Adding one month instead would give November 12, because October has 31 days.
How to use this calculator
- Pick the start date you are counting from.
- Choose Add or Subtract.
- Enter how many years, months, weeks and days to move — you can mix all four.
- Read the resulting date in the green panel, with its weekday and the net days moved.
- Check the step-by-step panel if you want to see the month stage and day stage separately.
Why "add a month" is ambiguous — and the rule we use
Different systems answer "January 31 + 1 month" differently: some clamp to February 28, some roll over to March 3. Clamping is the majority convention (it is what spreadsheets, Java, Python's dateutil and most legal drafting use), and it is the rule applied here, stated openly so you can plan around it. Note the asymmetry it creates: January 31 + 1 month − 1 month lands on January 28, not back on the 31st. When an exact day count matters more than the calendar, work in days and weeks only — those never clamp.