Skip to content
FPSPOT

Age Difference Calculator

This age difference calculator turns two birth dates into a calendar gap of years, months and days. You enter both dates; the result never depends on today.

Enter two birth dates. The result is the calendar gap between the earlier and later date, regardless of input order.

Uses Gregorian calendar dates. A missing day at month end is clamped to that month's last day.

Enter two birth dates, then calculate.

Gap between the two datesThe bars fill in once both dates are set.

Each bar shows one unit of the result against its own scale: years against 100 years, months against 12, days against 31. The right-hand labels report the total day count and the two dates the result comes from.

How to calculate the age difference

Enter both birth dates, then select Calculate age difference. Either order works. We start at the earlier date, count complete months anchored to its original day number, and then count the remaining calendar days. Supported years are 0001–9999.

Examples

  • 1990-05-15 and 1993-08-20: 3 years, 3 months, 5 days.
  • 2020-02-29 and 2021-02-28: 1 year, 0 months, 0 days.
  • 2024-01-31 and 2024-03-30: 0 years, 1 month, 30 days.

Questions about age differences

Why is there no as-of date?

This page measures the fixed calendar interval between two birth dates. That interval never changes, so entering today's date would only give the same answer on a different day. If you need one person's age as of a chosen date, the chronological age calculator linked below takes a birth date and a reference date.

Does swapping the dates change the result?

No. The tool sorts the two entries into an earlier and a later date before it counts anything, so the interval comes out the same either way. The result line always names the earlier birth date first, no matter which field you typed it into. Equal dates return zero years, zero months and zero days, and the page adds a note that both birth dates are the same.

Why not subtract two whole-number ages?

Whole-number ages drop months and days, so subtracting them can shift the answer by up to a year depending on whose birthday has passed most recently. Working from the two birth dates themselves avoids that rounding and gives the exact calendar interval, counted in complete months anchored to the earlier date plus the leftover days.

How are leap days and month ends handled?

Complete months are anchored to the day number of the earlier date, and when that day does not exist in a target month the anchor clamps to the month's last day. The tool follows the Gregorian rule, so 2000-02-29 is valid but 1900-02-29 is not. These are this tool's calendar rules, not a legal or medical age determination.

What date format does the tool accept?

The fields store strict ISO dates: a four-digit year, a two-digit month and a two-digit day, written YYYY-MM-DD. Years run from 0001 to 9999, and impossible day numbers such as February 30 are rejected. When an entry fails, the message names which field needs attention; in most browsers the date controls guide the format as you type.

Do time zones or daylight saving affect the count?

No. The calculation works on civil days, mapping each date to a day number, with no timestamps or time zones involved, so clock changes and your browser's locale settings do not alter the result. The same input dates give the same interval everywhere. The result line echoes the earlier and later dates so you can check them.

Find one person's chronological age on a chosen date.

This page as an age calculator between two dates

Both fields accept any two full dates, so the same page works as a general age calculator between two dates rather than only as a birth-date tool. Enter the earlier date first if you want the interval read in the usual direction; the result does not change when the two dates are swapped, because the tool always compares the earlier date with the later one. Use it for a birth date pair, for two milestone dates, or for any two days whose distance you need in years, months and days.

How to compare two birth dates step by step

Open the two date fields at the top of this age difference calculator and enter each birth date. Pick a date in the control or type it as YYYY-MM-DD. Press Calculate age difference. The status line reports the gap in years, months and days, and a smaller line echoes the earlier and later dates so you can confirm the inputs. Editing either field clears the previous result, so a stale answer never sits on screen after you change an entry.

How the month count is anchored to the earlier date

The tool first works out how many complete months separate the two dates. It anchors every month to the day number of the earlier date, then walks that anchor forward. When the anchor day does not exist in the target month, it clamps to that month's last day. From January 31, 2024, a one-month anchor lands on February 29 because 2024 is a leap year. A two-month anchor lands on March 31, one day past March 30, so the count stays at one month.

How leftover days are counted

Once the month count settles, the remaining days are counted between the anchored date and the later date on the civil calendar, month lengths and all. February contributes 28 or 29 days depending on the year, and the day totals come from a day-number mapping of each date rather than from timestamps. Clock changes and time zones therefore play no part in the day figure you see in the result.

The Gregorian leap rule the tool follows

Month clamping relies on the standard Gregorian rule: a year divisible by four is a leap year, except century years that are not divisible by four hundred. That is why 2000-02-29 is a valid entry while 1900-02-29 is rejected outright. The date fields also cap the supported range at years 0001 through 9999, so dates outside that span cannot be entered at all.

What the date fields accept

Both fields store strict ISO dates: a four-digit year, a two-digit month and a two-digit day in that order. The parser rejects impossible day numbers, months outside 01 to 12, and years below 0001 or above 9999, and the error message names the entry that needs attention. In most browsers the native date control supplies this format directly, so you rarely type the separators yourself.

Input order and identical dates

The tool sorts the two entries into an earlier and a later date before it counts anything, so which field holds which date never changes the interval. For the strict four-digit format used here, sorting the text is the same as sorting the calendar order. If both fields hold the same date, the result reads zero years, zero months and zero days, and a short note states that both birth dates are the same.

How the result is reported

The answer is shown as three parts: years, months and days. Each part uses singular wording when it equals one, so a short gap reads 1 year, 1 month, 1 day, while larger gaps take the plural units. A zero count takes the plural form, which is why the same-date result reads 0 years. The result line names the earlier birth date and the later birth date it worked from.

When to use this page, and when to use a neighbor

A fixed interval between two birth dates never changes, which suits comparing age gaps between siblings, classmates or colleagues. This page assumes nothing about today, since both fields are dates you supply. To ask how old one person is on a chosen date, use the chronological age calculator linked below. Gaps that cross the year 9999 boundary, or times of day, are outside what this form accepts.