How Exact Age Is Calculated (and Why It's Trickier Than It Looks)
Exact age is calculated by finding the full years, months, and remaining days between a birth date and a reference date — subtracting year from year, month from month, and day from day, then borrowing from the previous unit whenever a subtraction goes negative, the same way you'd borrow in column subtraction.
Calculating someone's age sounds trivial until you actually try to do it by hand for two arbitrary dates — months have different lengths, leap years add an extra day roughly every four years, and a birthday that hasn't happened yet this year needs to be handled correctly or the year count comes out wrong.
The subtract-and-borrow method
The core approach subtracts each unit separately: years minus years, months minus months, days minus days. If the day subtraction goes negative — say, someone born on the 25th and today is the 10th — you borrow a month, converting it into however many days were in the previous calendar month, and add that to the day count before subtracting again.
The same borrowing logic applies to months: if the month subtraction goes negative, you borrow a year (12 months) and adjust. This is exactly how a spreadsheet or calculator does it internally — there's no shortcut that skips the borrowing step correctly.
Where leap years and month length cause real errors
February has 28 days most years and 29 every fourth year (with a few century-based exceptions), so any manual calculation that assumes every month is the same length will occasionally be off by a day around February. This is the single most common source of manual age-calculation mistakes.
Total-day counts have the same issue in reverse: someone who has been alive for exactly 30 years has lived through roughly 7–8 leap years, adding that many extra days beyond a naive 365-day-per-year estimate.
Age as of a date other than today
The same method works for any reference date, not just today — calculating someone's age at a specific past or future date (for a legal document, a historical record, or a future eligibility date) uses the identical subtract-and-borrow process, just with a different "today."