Skip to calculator

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

Civil date (year-month-day), without a time of day.

Leave empty for today. Otherwise, the date at which to compute age (deed, exam, retirement date).

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.

  1. Completed years: 26 (last birthday: June 15, 2026).
  2. Months since June 15: July and August started through the 15th → 2 months.
  3. Days since August 15: 10 days (16 through 25 August).
  4. Total calendar days: 9,567.
  5. 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.

Methodology · Sources

Related calculations

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 dates

Category: Dates and durations