Overview
Compute an exact age in years, months and days from a birth date, plus the totals that matter for forms and milestones: total days, weeks and hours lived, and a countdown to the next birthday. The reference date defaults to today but can be set to any date, and the whole calculation runs locally in the browser.
How It Works
Enter the date of birth in the first field, then either leave the second field at today or set a different 'age at' date - useful for working out how old someone was on a specific historical date. The output shows the exact age broken into years, months and days, with four stat cards underneath: total days lived, total weeks, total hours, and the number of days until the next birthday. An invalid or reversed date range shows a clear error instead of a nonsense age.
Step-by-Step Usage Guide
- Enter the date of birth.
- Leave the second date as today, or set the date you want to measure at.
- Read the exact age in years, months and days.
- Check the totals: days, weeks, hours lived and days to the next birthday.
Technical Specifications & Standards
Calendar arithmetic is trickier than it looks, and the implementation handles the classic borrow correctly: when the target day-of-month is smaller than the birth day-of-month, it borrows a month and adds the actual number of days in the preceding month - so the gap from 31 January to 28 February counts as 28 days, not 0 or 30, because it asks the calendar how long February is. Months borrow from years the same way. Totals come from millisecond differences between UTC midnights, which makes them immune to daylight-saving wobble; hours are derived by multiplying total days by 24, a clean approximation that ignores the stray hours DST adds or removes across a lifetime. The next-birthday projection builds the birthday in the current year and rolls to next year if it has passed, then counts the days. One honest caveat: because date-only strings parse as UTC midnights while the display uses calendar parts, users in timezones behind UTC can see a one-day shift in the calendar breakdown around midnight boundaries; day totals are unaffected.
Targeted Use Cases
- Filling in government or insurance forms that ask age in years, months and days.
- Counting down to a milestone birthday or visa anniversary.
- Working out how old someone was on a past date for a biography or record.
- Baby-age tracking in the weeks-and-days convention parents use.
Notes & Gotchas
- Use the 'age at' field rather than doing mental arithmetic for past dates.
- Expect the months-and-days breakdown, not the day total, to carry calendar subtleties.
- Remember hours is a derived approximation - it is total days times 24.
- Double-check leap-year birthdays: 29 February birthdays are handled by calendar borrowing, not skipped.
Frequently Asked Questions
How is the months-and-days breakdown computed?
With calendar borrowing: when the day-of-month has not been reached in the target month, a month is borrowed and the actual length of the previous month is added to the days.
Does daylight saving affect the totals?
No. Total days and weeks come from differences between UTC midnights, so clock changes inside the range do not distort them. Hours are derived as days times 24.
Can I calculate age at a past date?
Yes. Set the second field to that date instead of today. The tool rejects ranges where the target precedes the birth date.
How does the next-birthday countdown work?
It builds the birthday for the current year and, if it has already passed, uses next year's, then reports whole days remaining.