To calculate your age accurately, compare your date of birth with today’s date. Count full years first, then remaining full months, then the remaining days.
For example, someone born on May 10, 1995 who is calculating their age on October 23, 2026 is 31 years, 5 months, and 13 days old.
The Basic Method
Use this process:
- Write down your date of birth.
- Write down today’s date.
- Subtract the birth year from the current year.
- Adjust if your birthday has not happened yet this year.
- Count the remaining full months.
- Count the remaining days.
Example
Date of birth: May 10, 1995
Today’s date: October 23, 2026
- Subtract the years:
2026 - 1995 = 31 - Since October 23 is after May 10, the person has had their birthday this year.
- Count from May 10 to October 10: 5 full months
- Count from October 10 to October 23: 13 days
Age: 31 years, 5 months, and 13 days.
Calculate Age When Your Birthday Has Not Happened Yet
If today’s date is before your birthday this year, subtract one year from the initial year difference.
Example
Date of birth: December 15, 1990
Today’s date: October 23, 2026
- Subtract the years:
2026 - 1990 = 36 - October 23 is before December 15, so subtract 1 year.
- Age in full years: 35
To express the remaining time, count backward from December 15, 2025 to October 23, 2026. The person is 35 years, 10 months, and 8 days old.
Calculate Age in Total Days
To calculate your age in days, subtract your date of birth from today’s date.
\text{Age in days} = \text{Today’s date} - \text{Date of birth}
In Excel or Google Sheets, if your birth date is in cell A2, use:
=TODAY()-A2
Format the result as a number, not a date.
For example, if someone was born on January 1, 2000, and today is October 23, 2026, they are 9,791 days old.
This total includes leap days. Spreadsheet date calculations handle leap years automatically.
Calculate Age in Excel or Google Sheets
Excel and Google Sheets are the most reliable way to calculate age because they account for leap years and different month lengths.
Calculate age in years
Use the DATEDIF function:
=DATEDIF(A2,TODAY(),"Y")
If the birth date is in A2, this returns the completed years.
Calculate age in years, months, and days
Use three formulas:
=DATEDIF(A2,TODAY(),"Y")
=DATEDIF(A2,TODAY(),"YM")
=DATEDIF(A2,TODAY(),"MD")
"Y"returns completed years."YM"returns remaining months after full years."MD"returns remaining days after full months.
Example
If A2 contains 1995-05-10, the formulas return:
| Unit | Formula | Result |
|---|---|---|
| Years | =DATEDIF(A2,TODAY(),"Y") |
31 |
| Months | =DATEDIF(A2,TODAY(),"YM") |
5 |
| Days | =DATEDIF(A2,TODAY(),"MD") |
13 |
So the age is 31 years, 5 months, and 13 days.
Calculate Age on a Specific Future Date
To find how old you will be on a future date, replace TODAY() with that date.
For example, if your birth date is in A2 and the future date is in B2:
=DATEDIF(A2,B2,"Y")
This returns your age in completed years on that future date.
Example
Date of birth: June 20, 2000
Future date: June 20, 2030
2030 - 2000 = 30
You will be 30 years old on June 20, 2030.
Understand Leap Years and Month Lengths
Accurate age calculation must account for:
- Leap years: February 29 adds an extra day every leap year.
- Different month lengths: Months have 28, 29, 30, or 31 days.
- Birthday timing: Your age in years increases only on your birthday.
- Time of birth: For legal or medical purposes, age is usually based on the calendar date, not the exact hour of birth.
A person born on February 29 has a birthday only in leap years. In non-leap years, their birthday is commonly celebrated on February 28 or March 1, depending on local custom or legal rules. For official age calculations, use the date-based method or check the requirement of the organization asking for the age.
Common Age Calculation Mistakes
Counting the current year as a full year
If your birthday has not occurred yet, you have not completed another year. Always check whether today’s date is before or after your birthday.
Ignoring leap days
Manual calculations across many years can miss February 29. Use a date calculator or spreadsheet formula for long periods.
Confusing age in years with age in days
A person can be 30 years old but 10,000 or more days old. These are different ways of expressing the same elapsed time.
Using approximate month lengths
Saying “30 days equals one month” is not always accurate. Months range from 28 to 31 days, so calculate months using actual calendar dates.
Calculating age for official documents incorrectly
Passports, school enrollment, medical records, and legal documents may have specific age rules. Some require age as of a particular date, such as the first day of a school year or the date of an application.
Quick Reference
| What you need | Method |
|---|---|
| Age in years | Subtract birth year from current year; subtract 1 if birthday has not occurred |
| Age in months | Multiply years by 12, then add remaining full months |
| Age in days | Subtract birth date from today’s date |
| Excel age in years | =DATEDIF(A2,TODAY(),"Y") |
| Excel age in years, months, days | Use DATEDIF with "Y", "YM", and "MD" |
| Age on a future date | Replace TODAY() with the future date |
Count completed years first, then remaining months and days. For accurate results—especially across leap years—use a spreadsheet formula such as DATEDIF rather than estimating with average month lengths.