The rules, in order
The calculator moves the date in two stages. First it applies the years and months together, keeping the same day number. Then it applies the weeks and days as exact calendar days. Take January 31, 2024 plus 1 month and 10 days. One month on keeps the 31st, but February has only 29 days in 2024, so the date becomes February 29. Then 10 days are added to give March 10, 2024.
The month end rule matters whenever the start day is the 29th, 30th or 31st. In those cases the new month may be too short, and the last day of that month is used instead of spilling into the next one. The working shows when this happened and explains why.
A month is not 30 days
Months change the date by a calendar month, not a fixed number of days. From March 1, 2024, 90 days later is May 30, 2024, but 3 months later is June 1, 2024. Use days when a rule says a number of days and months when it says months. Notice periods, trial periods and deadlines are often written in one or the other, and they do not give the same date.
Adding a year to February 29 gives February 28 of the next year here, because that year has no February 29. Software differs on this, and some programs give March 1 instead.
Going back is not always a round trip
Subtracting follows the same order backwards, and the end of the month can stop you from returning to where you started. March 31, 2024 minus 1 month is February 29, 2024 because there is no February 31. Adding 1 month back gives March 29, not March 31. When exactness matters, add or subtract the whole amount in one go rather than in stages.
Where this gets used
Invoice terms such as net 30, return and refund windows, subscription trials, notice periods, project deadlines and warranty expiry all need a date at a set distance from another. This page adds exactly the amount you enter, so the day after the start date is day 1. If a rule counts the start day itself as day 1, take one day off. If it counts only working days, use the working days calculator. To find the gap between two dates instead, use the date difference calculator.