How to Calculate Age in Years, Months, and Days
Ask someone how old they are and you'll get a single number. "I'm 34." But ask a computer to calculate the exact difference between two dates and suddenly you're dealing with months that have 28, 29, 30, or 31 days, leap years that don't follow the pattern you think they do, and entire cultural systems where "34" might actually mean 35 or 36 depending on where you were born. Age math is surprisingly messy.
The naive approach (and why it breaks)
The simplest way to calculate age: subtract the birth year from the current year. Born in 1990, it's 2026 — you're 36. Except if your birthday hasn't happened yet this year, you're still 35. So you also need to compare the month and day.
That gets you the right number of years most of the time. But "years, months, and days" is where things get genuinely tricky. Say someone was born on January 31 and today is March 2. How many months and days is that? Is it one month and two days (January 31 → February 28 is "one month," plus two more days to March 2)? Or one month and one day? What if it's a leap year and February has 29 days?
The core problem: months don't have a fixed number of days. A "month" from January 31 doesn't land on February 31 because that date doesn't exist. Different software handles this differently — some clamp to the last day of the month (February 28 or 29), others roll forward into the next month (March 3). There's no universally agreed-upon standard, which is why two age calculators might give you slightly different month-and-day breakdowns for the same pair of dates.
How the math actually works
The most common approach — and the one that matches how humans intuitively count age — works like this:
- Start with the birth date and the current date.
- Count complete years first: the number of times the birth month-and-day has fully passed since the birth year.
- From the most recent birthday, count complete months forward to the current month. If the current day-of-month is less than the birth day-of-month, subtract one month.
- The remaining days are counted from the adjusted month boundary to today.
Example: born March 15, 1990. Today is April 10, 2026.
- Years: 2026 − 1990 = 36, but March 15 has already passed this year, so 36 full years.
- Months: March 15 → April 15 would be 1 month, but today is April 10, which is before the 15th. So 0 complete months since the last birthday.
- Days: March 15 → April 10 = 26 days.
- Result: 36 years, 0 months, 26 days.
This approach handles most dates cleanly, but month-end dates (the 29th, 30th, and 31st) create ambiguity because not every month has those days. The convention most calculators follow: if the birth day doesn't exist in the current month, treat the last day of that month as the boundary. Born on the 31st, and it's a month with 30 days? The month boundary falls on the 30th.
Leap years are weirder than you think
Everyone knows about February 29. A leap year happens every 4 years — except when it doesn't. The actual rule:
- Divisible by 4 → leap year
- Divisible by 100 → NOT a leap year
- Divisible by 400 → leap year again
So 2000 was a leap year (divisible by 400), but 1900 was not (divisible by 100 but not 400), and 2100 won't be either. Most of us alive today have never experienced a skipped leap year, since the last one was 1900 and the next is 2100. But date math libraries need to handle it correctly, or calculations spanning the year 2100 will be off by a day.
The February 29 birthday problem
About 5 million people worldwide were born on February 29. They have a birthday that doesn't exist three out of every four years. When do they celebrate? When does their age legally increment?
It depends where they live. In the UK and Hong Kong, the legal birthday in non-leap years is March 1 — the day after February 28. In New Zealand, it's February 28 for most purposes but March 1 for driver's license age cutoffs. In the US, there's no federal standard; it varies by state and context. Taiwan treats March 1 as the default.
For age calculation, the practical choice is: in non-leap years, treat the "next birthday" as either February 28 or March 1. Most calculators use March 1, reasoning that a Feb 29 birthday hasn't technically occurred until February has ended. But either choice is defensible — the calendar itself is the problem, not the math.
Korean age: a completely different system
Until June 2023, South Korea officially used a system where you were 1 at birth and gained a year every January 1, regardless of your actual birthday. Under this system, a baby born on December 31 turned 2 the very next day. A person born in 1990 was considered 37 in 2026 under Korean age, compared to 35 or 36 under the Western system.
This created real confusion — Koreans routinely tracked three different ages: Korean age (만 나이 vs 세는 나이), legal/international age (years since birth), and "year age" (current year minus birth year, ignoring month/day). Contracts, military service, school enrollment, and social hierarchy all referenced different versions.
In June 2023, South Korea formally standardized on the international system for legal and administrative purposes. But Korean age persists in everyday conversation. If a Korean colleague tells you their age, it's worth asking which system they're using — the answer could differ by one or two years.
East Asian age reckoning wasn't unique to Korea. Traditional Chinese, Japanese, and Vietnamese systems also counted a person as 1 at birth, though Japan switched to the Western system in 1902 and China and Vietnam have largely transitioned for official use. The concept persists in cultural and religious contexts across the region.
Age in hours: who actually needs that?
Calculating age in hours (or minutes) sounds like a novelty, but it has genuine applications. Neonatal medicine tracks infant age in hours for the first days and weeks of life — medication dosages, feeding schedules, and developmental milestones in the NICU are all pegged to hours since birth, not days. "This baby is 36 hours old" conveys clinically different information than "this baby is one day old" or "two days old."
Beyond medicine, age in hours or days is useful for calculating exact durations between events — how many days until a warranty expires, how many hours since an incident, how many days a project has been running. These are all age calculations with different starting points.
What day were you born on?
A related piece of trivia that most age calculators include: what day of the week was your birthday? The answer requires either a lookup table or an algorithm. The most famous is the Doomsday algorithm, devised by mathematician John Conway, which lets you calculate the day of the week for any date using anchor days (dates that always fall on the same weekday in a given year). With practice, you can do it in your head in under 10 seconds.
For the rest of us, the age calculator handles it automatically — enter your birth date and it tells you the day of the week, your exact age down to the hour, and how many days until your next birthday.
The bottom line
Age is a deceptively simple concept. "How old am I?" has a straightforward answer in years but gets complicated fast when you want months-and-days precision, account for leap years, or step outside the Western calendar system. The math is solvable — it's the edge cases and cultural variation that make it interesting. A date like February 29, 1996 means something slightly different depending on whether you're calculating a New Zealand driving age, a Korean social age, or a NICU medication schedule.
For a quick, precise breakdown of your age in years, months, days, and hours — plus your next birthday countdown — try the age calculator.