This works out an exact age — years, months and days — from a birth date to any chosen date, using the same calendar arithmetic the time-between-dates calculator already established.
How it works
Whole months are counted first, then whatever days are left over, with month lengths handled properly — 31 January to 1 March is “1 month, 1 day,” not a negative day count — and everything computed in UTC so daylight saving can never shift the answer by a day.
How to use this calculator
- Enter the date of birth.
- Leave “as of” at today, or pick another date to see the age at a specific point.
- Read the age, plus total days and weeks lived — sometimes the more striking number.
Frequently asked questions
Why does this need the exact same date logic as the date-difference calculator?
Because they are the same underlying problem — the span between two dates — and building the calendar rules (month lengths, leap years, daylight saving) twice would risk the two calculators quietly disagreeing on an edge case. Reusing the identical logic means they never can.
What happens if I enter a birth date in the future?
It’s flagged rather than shown as a negative age — a birth date after the “as of” date is a data-entry issue, not a valid age to compute.
Why show total days lived as well as years/months/days?
Because it is a genuinely different way of seeing the same number — “31 years old” and “over 11,300 days” describe the identical span, and the second framing is sometimes the one that actually lands.
Does this account for leap years correctly?
Yes — the underlying date arithmetic works from real calendar dates, not an approximation like “365.25 days a year,” so leap years are counted exactly as they actually fell.
Can I use this to find someone’s age on a specific past or future date?
Yes — set “as of” to any date, past or future, to see the age at that point rather than today.