Add or subtract from a date

Add or take away days, weeks, months or years — and find out whether the answer comes back if you undo it, because with months it often does not. Nothing you type here leaves your browser — it is worked out on your own device, so there is nothing to send and nothing to log.

Adding a month does not reverse

31 January plus one month is 28 February — or the 29th in a leap year — because there is no 31st of February and the convention is to stop at the end of the month. That is sensible, and it has a consequence nobody mentions: subtracting a month again gives you the 28th, not the 31st you started from. The information is gone.

So “add six months, then take six months off” is not the identity, and any code that assumes it is will drift. It is the date equivalent of rounding: cheap, necessary, and lossy in a way that only shows up later.

A month is not thirty days

“Thirty days from today” and “a month from today” are different dates in eleven months of the year. A contract that says one and means the other is a real dispute. If the wording matters, use the one the contract actually says — this page does both, separately, and never quietly swaps one for the other.

A year is not 365 days

It is 365 days three times in four and 366 the other time, and “a year from 29 February 2024” is 28 February 2025, by the same clamping rule. Which is why age is counted in calendar years rather than in days.

Months before days, always

When an interval mixes units — “one month and thirty days” — the order you apply them in changes the answer, because the months step is not a fixed length. The convention, and what this page does, is months first, then days. Most software agrees; not all of it says so.

What it will not do

Where to go next