Dates and durations · Age
Calculate age on a chosen date
The age shown is civil: completed years, then months, then leftover days. It is not the number of days divided by 365.25. An empty “Age on” field means today.
Calculate
How the calculator works
Both dates are civil dates (no time, no time zone). If the arrival date is empty, the engine takes the current date on the server/runtime. Age decomposes as a calendar gap: count years, adjust months, then days from the real length of the previous month. An age “in the future” (birth after the arrival date) is refused. The next birthday is the next occurrence of the birth month and day; born on Feb 29, if the target year is not a leap year, the date kept is Feb 28.
Formula and method
âge = décomposition (naissance → date d’arrivée)
Same years / months / days decomposition as the date gap, bounded to past births.
jours calendaires = datearrivée − datenaissance
UTC date difference; one day = one date change, not 24 astronomical hours.
The calendar is civil Gregorian. Leap years insert Feb 29; typed-date validity is checked (no April 31, no Feb 29, 2026). Age is not converted to “decimal years” (26.2 years): that shortcut ignores month lengths. The next birthday does not slide to March 1: the convention here, for a Feb 29 birth, is Feb 28 in non-leap years.
Worked example
Born June 15, 2000, age on August 25, 2026
Birth = 2000-06-15, arrival = 2026-08-25.
- Completed years: 26 (last birthday: June 15, 2026).
- Months since June 15: July and August started through the 15th → 2 months.
- Days since August 15: 10 days (16 through 25 August).
- Total calendar days: 9,567.
- Next birthday: June 15, 2027, in 294 days.
26 years, 2 months, and 10 days.
Input notes
- Date of birth
- Date of birth or the start of an “age” (company formation, in-service date). Must be on or before the arrival date.
- Age on
- Date at which you want the age. Empty = today at calculation time. For a reproducible example, type a fixed date (such as 2026-08-25).
Assumptions and limits
Assumptions
- Gregorian civil dates, no time of day.
- One day = one UTC calendar step, not a 86,400 s duration with daylight saving.
- Born Feb 29: next birthday on Feb 28 if the year is not a leap year.
Limits
- No age “in moons” and no school-year age (birth year as of Dec 31).
- No time zone: midnight in Tokyo and midnight in New York on the same civil day are the same age here.
- Julian, revolutionary, or lunar calendars are not handled.
How to read the result
26 years, 2 months, and 10 days is vital-records age, not HR software that cuts at the year. The 9,567 days help if a text asks “older than n days.” For a lease that counts occupancy days (arrival and departure included), the “days between two dates” tool is clearer than age.
Common mistakes
Dividing the number of days by 365 to get age.
Leap years and month lengths make that quotient wrong by a day or two, sometimes more. Civil decomposition is the exact age.
Swapping birth and arrival date.
A future birth is refused. For any signed gap, use the date-difference tool.
Believing a Feb 29 birth “only has a birthday every 4 years” in this tool.
Age advances every year. Only the next-birthday date is placed on Feb 28 in non-leap years.
Related calculations
- Date differenceThe main result is a decomposition: 2 years, 5 months, and 10 days, for example. Total days sit beside it. That is not the same need as “how many stay nights.”
- Days between two datesFrom January 1 to January 3, the exclusive gap is 2, the inclusive count is 3. Both are right; they do not answer the same sentence. This tool shows both, without choosing for you.
- Pregnancy due dateOne date: the first day of the last period. The tool adds 280 days for the due date and 14 days for a model conception.
- Dog ageAge and size. The tool applies a stepped chart, not the “times seven” rule.
- Cat ageAn age in years. The tool applies 15, then 9, then 4 — not “times seven”.
Frequently asked questions
What if I leave the arrival date empty?
Age is computed on today’s date, on the execution side.
The field is not required. The runtime inserts today. For a notarized deed or a frozen example, type the date explicitly. Running the calculation tomorrow will change the result if the field stays empty.
How is February 29 handled?
A Feb 29 birth is valid. The next birthday falls on Feb 29 if the year is a leap year, otherwise Feb 28.
If the person was born Feb 29, 2004 and you compute on Aug 25, 2026, the 2026 birthday already happened on Feb 28, 2026. The next is Feb 28, 2027 (2027 is not a leap year), then Feb 29, 2028. Age in years, months, and days follows real month lengths, including February at 28 or 29 days.
Does time of birth count?
No. Only the civil date is read.
A child born Aug 25 at 11:50 p.m. and another Aug 26 at 12:10 a.m. do not share a civil birthday. Here we do not cut at the hour. Durations in hours belong to another kind of tool, not on this page.
How is this different from “gap between two dates”?
Age refuses an arrival date before birth, and adds the next birthday.
The years/months/days decomposition is the same idea. Date difference accepts a reversed order (signed days) and does not show a birthday. Both stay distinct from “how many days from the 1st to the 15th” (exclusive or inclusive count).
Author and update
Written by Rédaction HexaCalc (editorial team). Content last updated: August 25, 2026. No third-party medical or financial review is claimed.
This calculation uses a standard mathematical identity. See also the methodology.
Same calendar, another question
To decompose a deadline (contract, jobsite) without a birthday notion, open the gap between two dates.
Calculate the gap between two datesCategory: Dates and durations