How this calculator works
Age in completed years counts how many birthdays have passed on the calendar, not an average of 365 days. The birthday is placed in the as-of year; a February 29 birthday is treated as February 28 in non-leap years. Total days is the exact count of calendar-day boundaries between the two dates, including leap days.
Formula
completed_years = as_of.year - birth.year - 1 if the birthday has not yet occurred in the as-of year, otherwise as_of.year - birth.year. total_days = O(as_of) - O(birth_date), where O is the day number of a date counted from 0001-01-01.
Worked example
Born 1990-05-20 and measured on 2026-11-01: 36 completed years and 13314 total days. Born on leap day 2000-02-29 and measured on 2023-02-28: 23 completed years and 8400 total days.
Advertisement
Frequently asked questions
Why does the total-day count not equal years times 365?
Leap years add a day roughly every four years, so 36 years is about 13149 days, not 13140. The day count is the exact calendar difference.
Is a February 29 birthday legally March 1 or February 28?
This calculator uses February 28 as its anniversary convention. Canadian and US statutes can pick either day depending on the jurisdiction and purpose, so check the applicable law before relying on it for legal age.
Does the time of birth matter?
No. The calculation is date-only, with no birth time and no time zone, so a birth the evening of May 20 counts the same as one that morning.