What This Calculator Does
The Age on a Specific Date Calculator tells you exactly how old a person was — or will be — on any date you choose, not just today. It is perfect for working out an age at a graduation, a wedding, a retirement date, a historical event, or a future milestone. The result is expressed in years, months and days, plus handy totals in months, weeks and days.
How to Use It
Enter the birth date (year, month and day) and the target date you want to measure to. Press calculate and the tool returns the completed age on that date. The target date can be in the past or the future relative to today — it is measured purely against the birth date.
The Formula Explained
The age is the calendar difference between the two dates. We subtract the birth year, month and day from the target year, month and day. If the day result is negative, we borrow days from the previous month (using that month's true number of days). If the month result is then negative, we borrow 12 months from the years. This calendar-aware borrowing is why February and leap years are handled correctly.
$$\text{Age} = \text{Target Date} - \text{Birth Date}$$
$$\text{Age} = (Y_t - Y_b)\,\text{yr},\ (M_t - M_b)\,\text{mo},\ (D_t - D_b)\,\text{d}$$
$$\text{Days} = \left\lfloor \frac{t_{target} - t_{birth}}{86400000} \right\rfloor$$
Worked Example
Birth date 15 June 1990, target date 1 January 2024. Years: \(2024 - 1990 = 34\). Months: \(1 - 6 = -5\), days: \(1 - 15 = -14\). The day is negative, so borrow from December (31 days): \(\text{days} = 1 - 15 + 31 = 17\), \(\text{months} = 0 - 5 - 1 = -6\). Months still negative, so borrow a year: \(\text{years} = 33\), \(\text{months} = 6\). Result: 33 years, 6 months, 17 days, or 12,253 total days.
Definitions & Glossary
- Birth date
- The calendar date a person was born, entered as birthYear, birthMonth and birthDay. It is the fixed starting point from which age is measured.
- Target date
- The chosen date on which you want to know the person's age, entered as targetYear, targetMonth and targetDay. It may be in the past, the present, or the future. If the target date is earlier than the birth date, no age has yet been reached.
- Completed age
- The age expressed only in fully completed years, months and days. A person who has lived 22 years and 11 months has a completed age of 22 years — the partial year is reported separately as the months and days component, never rounded up.
- Borrowing days from the previous month
- When the target day is smaller than the birth day, the day component would be negative. To fix this, one whole month is borrowed and converted into the number of days in the month preceding the target date, then added to the target day before subtracting. For example, going from the 15th to the 1st borrows the days of the previous month. Because months have 28–31 days, the exact day count depends on which month is borrowed.
- Totals (months, weeks, days)
- Alternative single-unit expressions of the same elapsed time. Total months counts every completed whole month between the two dates; total weeks is the total elapsed days divided by 7 (with any remainder as extra days); and total days is the exact number of calendar days between the birth date and the target date, including leap days. These totals describe the same span as the years/months/days result, just measured in a single unit.
FAQ
Can the target date be in the future? Yes. Enter any future date to find how old someone will be then.
Does it handle leap years? Yes — borrowing uses the actual number of days in each month, so 29 February is counted correctly.
What if the target date is before the birth date? The age will be negative, indicating the target date precedes the birth date.