Age Calculator: exact age in years, days and weeks
Someone born on March 22, 1985 has been alive for exactly 15,056 days — that's 2,150 full weeks — as of June 11, 2026.
- Accurate to the exact day
- Leap years handled for you
- No spreadsheets or manual counting
Age Calculator: exact age in years, days and weeks
Enter your numbers and press Calculate
How to use this age calculator
The calculator takes two dates split into day, month, and year fields, which sidesteps the classic MM/DD vs. DD/MM confusion entirely — the month is always its own number.
1. Date of birth: enter the day (1-31), month (1-12), and year (1900-2026). For someone born on July 4, 1996: day 4, month 7, year 1996. 2. Reference date: the "as of" date. It defaults to June 11, 2026; change it to find your age on any other date — the day you become eligible for Social Security, your kid's age on the first day of kindergarten, or your age on January 1, 2030. 3. Results: you get three numbers at once: full years (the age you'd put on an official form), total days lived between the two dates, and complete weeks (total days divided by 7, rounded down).
Two details worth knowing. First, full years only tick up on the exact birthday: on July 3, 2026, the person above is still 29, not 30. Second, if the reference date comes before the birth date, the day count turns negative — that's your cue that the dates are swapped.
Worked examples
Maya was born on March 22, 1985 and wants her exact age as of June 11, 2026.
Step 1 — Full years. The formula in plain text:
age = reference_year − birth_year − (1 if the birthday has not yet occurred in the reference year; 0 if it has)
2026 − 1985 = 41. Has her birthday passed? March 22 comes before June 11, so yes — nothing is subtracted: 41 full years.
Step 2 — Total days. Each date is converted into a serial number: the count of days elapsed since January 1, 1970 (negative for earlier dates). Using the Gregorian calendar algorithm, March 22, 1985 is day 5,559 and June 11, 2026 is day 20,615.
total_days = 20,615 − 5,559 = 15,056 days
Step 3 — Complete weeks.
weeks = floor(total_days ÷ 7) = floor(15,056 ÷ 7) = floor(2,150.86) = 2,150 weeks (with 6 days left over)
A second case: Jake was born on July 4, 1996. On June 11, 2026 his birthday hasn't come around yet, so the math is 2026 − 1996 − 1 = 29 years, with 10,934 days lived — which happens to be exactly 1,562 weeks with no days left over.
The math behind the calculator
Multiply 41 years by 365 and you get 14,965 days — but Maya from the example has lived 15,056. The gap comes from leap years: the Gregorian calendar inserts a February 29 every 4 years, except in years divisible by 100 that aren't divisible by 400. That's why 2000 was a leap year but 1900 wasn't. On average, a Gregorian year lasts 365.2425 days.
To count days exactly, this calculator converts each date into a serial number using Howard Hinnant's days from civil algorithm — the same one adopted by the C++ standard library (std::chrono) in C++20. The trick is shifting the start of the year to March 1, so the leap day always lands at the end of the year, and exploiting the fact that every 400-year Gregorian cycle contains exactly 146,097 days. Subtracting the two serial numbers yields the days lived with no drift and no special cases.
In the U.S., exact age matters more often than you'd think: you can legally buy alcohol starting on your 21st birthday itself, Social Security's full retirement age for anyone born in 1960 or later is 67, and Medicare eligibility starts the month you turn 65. When a rule says "21 years old," it means full years completed — exactly the number this calculator reports.
Frequently asked questions
How is exact age calculated between two dates?
Subtract the years (reference year minus birth year) and take away 1 if the birthday hasn't yet occurred in the reference year. For days, each date is converted into a serial number (days since January 1, 1970) using the Gregorian calendar algorithm, and the two numbers are subtracted. Weeks are the total days divided by 7, rounded down.
Why don't my total days equal my age times 365?
Leap years. Every 4 years the calendar adds a February 29 (except years divisible by 100 but not by 400), so a year averages 365.2425 days. Over 41 years that piles up to roughly 10 extra days — which is why a 41-year-old has lived about 14,975 days, not 14,965.
What if I was born on February 29?
In non-leap years there's no February 29, so this calculator treats your birthday as falling on March 1. Example: someone born on 02/29/2000 is still 25 on 02/28/2026 and turns 26 on 03/01/2026. The total-days count, on the other hand, is always exact — no conventions involved.
Can I calculate my age on a future date?
Yes — the reference date accepts any day up to the year 2100. It's handy for finding your age on an exam date, at retirement, or on a milestone anniversary. For instance, someone born on July 4, 1996 can check exactly how many days they'll have lived on their 50th birthday.
About this calculator
This age calculator gives you that level of precision instantly: enter a date of birth and a reference date, and you get full years completed, total days lived, and complete weeks, with every leap year of the Gregorian calendar counted correctly. People use it for everything from checking eligibility ages for Social Security or Medicare, to filling out forms that ask for your exact age on a specific date, to settling the family debate about who has really lived more days.