Date add / subtract
Move a date by years, months, weeks and days with clear month-end adjustments.
How it works & useful details
How it works & limits
Years and months are combined into one month shift. If the original day does not exist in that target month, it becomes the target month’s final day. Weeks and days are applied after that adjustment.
For example, January 31 + one month in 2024 is February 29. Adding two months at once gives March 31; adding one month twice can give March 29. Calendar arithmetic supports years 0001–9999 and rejects results outside that range.
Your working space
Explore the live preview, then save a copyable text report. Inputs stay on this device and are cleared by refreshing. Dates use the Gregorian calendar, including before its historical introduction.
About this tool
Date add / subtract moves a calendar date forward or backward by years, months, weeks, and days. It is handy for calculating renewal dates, notice periods, and schedules without counting on a calendar by hand.
Month and year arithmetic handles month-end dates explicitly: results are clamped to the last valid day so you never land on a date that does not exist. All calculations use the Gregorian calendar and happen locally.
How to use it
- Enter the starting date.
- Choose to add or subtract and set the years, months, weeks, and days.
- Read the resulting date and its weekday.
- Check the notes when a month-end adjustment affected the result.
Worked examples
- 2024-01-31 + 1 month = 2024-02-29. February has no 31st, so the result is clamped to the last day of February, which is the 29th in a leap year.
- 2024-02-29 + 1 year = 2025-02-28, again clamped because 2025 is not a leap year.
- 2024-01-31 + 2 months = 2024-03-31, but adding 1 month twice gives 2024-03-29, because the first step already clamped to the 29th.
That last example is why the tool combines years and months into a single shift before applying weeks and days. Month arithmetic is not associative, so the order of steps changes the answer.
Where this matters
Subscription renewals, notice periods, loan due dates, and contract terms are usually stated in months. Different systems handle the missing day differently. Some roll over into the next month, so January 31 + 1 month becomes March 2 or 3. Others, like this tool and most spreadsheet EDATE functions, clamp to the month end. If a date near the end of a month drives a deadline, check which rule the contract or system uses.
Weeks and days are exact: one week is always seven calendar days, so adding 6 weeks to any date lands on the same weekday.
Frequently asked questions
What happens when I add a month to January 31?
The result is clamped to the last valid day of the target month, so January 31 plus one month gives the end of February.
Are leap years handled?
Yes. Leap days are part of the Gregorian calendar arithmetic used by the tool.
Can I subtract many years?
Yes. Inputs accept large ranges within the supported date limits; the result is shown with its weekday.
How do I subtract instead of add?
Switch the direction to subtract. The same month-end rule applies, so 2024-03-31 minus one month is 2024-02-29.
