One month after the 31st

Adding one month to 31 January gives 28 February in most systems, because 31 February does not exist and the convention is to clamp to the last day of the target month. That is a choice rather than a truth: the alternative of rolling over to 3 March is equally defensible and produces different answers for every date-based calculation downstream.

It is why two age calculators can disagree about the same pair of dates by a day or two, and why neither of them is broken.

How is an age actually counted?

In whole calendar years first, then whole months, then the remaining days. Someone born on 15 May 1990 is 36 years, 3 months and 8 days old on 23 August 2026 — 36 complete years to 15 May 2026, three complete months to 15 August, and eight days after that.

The day before a birthday you are still the previous age. The year completes on the day itself, which is why an age in years is a count of completed years rather than a rounding of elapsed time.

The same span in a single unit is 13,249 days, or about 1,893 weeks. Those figures are unambiguous, which is exactly why they are useful when the year-month-day breakdown is contested.

Where does the month rule bite?

Wherever a monthly cycle starts near the end of a month.

  • Subscriptions billed on the 31st. February charges on the 28th, and whether March returns to the 31st or stays on the 28th depends on the system.
  • Medication and appointment intervals. "In one month" from 31 August is 30 September under clamping and 1 October under rollover.
  • Contract notice periods. A month’s notice given on 31 March expires on 30 April, which is 30 days, while the same notice on 31 May expires on 30 June, which is 30 days from a 31-day month.
  • Anything summing months. Adding one month twice from 31 January gives 28 March under clamping; adding two months at once gives 31 March. The operation is not associative.

That last point is the one that causes silent bugs. Software that loops "add one month" twelve times does not land on the same date as software that adds twelve months once, and both are following a defensible rule.

Why does clamping win?

Because every other rule produces an impossible date somewhere along the way. Rolling over turns 31 January into 3 March, which most people do not read as "one month later", and it makes the answer depend on whether the year is a leap year.

Clamping keeps the result inside the target month, which matches how people talk. It also has one property worth stating: it is not reversible. One month after 31 January is 28 February, and one month before 28 February is 28 January — you do not get back to where you started.

A tool cannot resolve that; it can only pick a rule and say which one. Anywhere the difference has legal or financial weight, the contract should specify the convention rather than leaving it to whichever system runs first.

How does a leap-day birthday work?

Someone born on 29 February has a birthday that exists in about one year in four, and the two common conventions place the non-leap-year anniversary on 28 February or on 1 March.

Jurisdictions differ on which applies for legal purposes such as reaching an age of majority, and the answer is a matter of local law rather than arithmetic. The day count is unaffected either way, which is another reason to reach for the total-days figure when the exact answer matters.

Why do the day counts include leap days?

Because they are real days that were lived through. A span covering ten leap years is ten days longer than one that does not, and any count that skipped them would not correspond to elapsed time.

The leap rule itself is more specific than most people remember: a year is a leap year if it divides by 4, except centuries, which must also divide by 400. So 2000 was a leap year and 1900 was not — a distinction that broke a number of systems built in the 1990s by programmers who had only ever needed the first half of the rule.

Questions people ask

What if I enter the dates the wrong way round? The span is the same and the direction reverses, so the result is reported as time until rather than time since. Nothing needs correcting.

Can I work out an age at a past date? Yes — set the second date to whenever you need rather than to today. That is the common case for eligibility questions, where what matters is the age on a particular day.

Why does the result change at midnight? Because it is computed against the current date in your own browser rather than on a server. A page cached hours earlier would otherwise show a frozen clock.

How many days in a month, on average? 30.4375, being 365.25 divided by twelve. It is a useful figure for estimating and a poor one for calculating any specific interval.

Clamping is a convention, and the day count is the figure that never needs one. The age calculator reports years, months and days alongside the totals in every single unit, the time zone converter handles the other kind of calendar disagreement, and the inflation calculator is where long spans of years turn into money.