Quick answer
To calculate age from a date of birth, subtract the birth year from the target year, then check the birthday. If the birthday has not happened yet in the target year, subtract 1. For an exact age, subtract day, month and year right to left, borrowing from the previous calendar month when a column comes up short.
Most people stop after subtracting the birth year from the current year. That shortcut gives an approximation, and roughly half the time it gives the wrong one. Age in completed years counts only full birthdays reached, so the birthday check is not optional decoration.
It is the step that makes the answer right. This guide covers both methods: the fast two-step check for completed years, and the full borrowing method for an exact calendar age. Every step comes with worked numbers you can follow along with.

What You Need: Two Dates
You need exactly two dates, written the same way:
| What | Example |
|---|---|
| Date of birth | June 24, 1998 |
| Target date (the date you want the age on) | September 3, 2026 |
The date of birth never changes. The target date is usually today, but it can be any date you care about: a past date for “how old was I then,” or a future date for “how old will I be.” Write both as year-month-day to avoid mixing up DD/MM/YYYY with MM/DD/YYYY.
The digits 03/05/2000 mean March 5 in one format and May 3 in the other, and that single ambiguity ruins the whole calculation.
The Two-Step Method for Completed Years
When someone asks “how old are you,” they mean completed years: the number of full birthdays reached. Two steps get you there.
Step 1: Subtract the Birth Year
Take the target year minus the birth year. For a birth date of June 24, 1998 and a target date of September 3, 2026: 2026 minus 1998 = 28. Twenty-eight is the preliminary answer. It is not the final answer yet.
Step 2: Check Whether the Birthday Has Happened
Compare the birth month and day against the target month and day. June 24 comes before September 3, so the birthday already happened in 2026. All 28 years are complete. Age: 28 years.
If the birthday is still ahead in the target year, subtract 1 from the preliminary result. Birth date November 20, 2000, target date September 3, 2026: 2026 minus 2000 = 26, but November 20 has not arrived yet, so 26 minus 1 = 25 years.
That subtraction is where age calculation is won or lost. Skip it and the answer comes out a full year too high for everyone whose birthday falls later in the year.
Three Worked Examples
Example 1: Birthday already passed. Born February 10, 2000. Target: September 3, 2026. Year difference: 2026 minus 2000 = 26. February 10 has passed, so no adjustment. Age: 26 years. Total days lived: 9,702.
Example 2: Birthday still ahead. Born November 20, 2000. Target: September 3, 2026. Year difference: 26. November 20 has not arrived, so 26 minus 1. Age: 25 years. Total days lived: 9,418.
Example 3: Target date is the birthday. Born September 3, 2000. Target: September 3, 2026. Exactly 26 full years are complete on the birthday itself. Age: 26 years. Total days lived: 9,496. The birthday is the boundary: the new year of age completes on that date, not the day before or after.
The Exact Method: Years, Months, and Days
Completed years are enough for conversation. Forms, eligibility checks, and official records often want the exact calendar age, something like 27 years, 6 months, and 8 days.
The reliable manual method works right to left: days, then months, then years. The order matters because borrowing days changes the month column, and borrowing months changes the year column.
Worked Example Without Borrowing
Born April 14, 1999. Target: October 22, 2026. Days: 22 minus 14 = 8. The target day is larger, so no borrowing. Days: 8. Months: 10 minus 4 = 6.
No borrowing needed. Months: 6. Years: 2026 minus 1999 = 27. Years: 27. Exact age: 27 years, 6 months, and 8 days. Total days lived: 10,053. Decimal years: 27.52.
Worked Example With Borrowing
Borrowing enters when a target column is smaller than the birth column. Born October 30, 1995. Target: February 15, 2026. Days: 15 minus 30 cannot be done directly. Borrow one month from the calendar month before February 2026, which is January 2026 with 31 days.
Add: 15 + 31 = 46. Subtract: 46 minus 30 = 16 days. The borrowed month reduces the target month from 2 to 1.
Months: 1 minus 10 cannot be done directly. Borrow one year: 1 + 12 = 13. Subtract: 13 minus 10 = 3 months. The borrowed year reduces the target year from 2026 to 2025. Years: 2025 minus 1995 = 30 years.
| Unit | Calculation | Result |
|---|---|---|
| Days | 15 + 31 minus 30 | 16 days |
| Months | 1 + 12 minus 10 | 3 months |
| Years | 2025 minus 1995 | 30 years |
Exact age: 30 years, 3 months, and 16 days. Total days lived: 11,066. Decimal years: 30.30. The golden rule of borrowing: always borrow the actual length of the previous calendar month. Never default to 30 days. February is the classic trap, and it is the most common borrowing error in hand-done calculations.
Days-to-Borrow Reference Table
When you borrow a month, the number of days you receive depends on which month you borrow from:
| Borrow from this month | Days you receive |
|---|---|
| January | 31 |
| February | 28 (29 in a leap year) |
| March | 31 |
| April | 30 |
| May | 31 |
| June | 30 |
| July | 31 |
| August | 31 |
| September | 30 |
| October | 31 |
| November | 30 |
| December | 31 |
Look at the actual previous calendar month every time. Borrowing 30 days by habit is the single most frequent source of off-by-one errors.
The Leap-Year Rule
A year is a leap year if it is divisible by 4, except that century years must also be divisible by 400. That is the full Gregorian rule, and it is why 2000 was a leap year but 1900 was not, and why 2100 will not be one either.
The U.S. Naval Observatory states the rule this way in its Leap Years FAQ, and it is the rule this site’s calculators use.
The exceptions shave the average calendar year to 365.2425 days, close to the true 365.2422 days of the Earth’s orbit. The Gregorian calendar repeats its exact pattern of weekdays and leap years every 400 years.
The rule matters for borrowing: if the previous month is February in a leap year, you borrow 29 days; otherwise 28. A 30-year-old has lived exactly 10,957 or 10,958 days, not the 10,950 days that 30 times 365 gives. Leap years are handled automatically by the borrowing method, because you borrow real calendar month lengths.
Printable Checklist: Manual Age Calculation
Work through these steps in order for any date pair: Write the date of birth and the target date as year-month-day. Confirm the target date is the one the question actually asks about, not just today. For completed years: subtract birth year from target year.
Compare birth month and day with target month and day. Birthday not yet reached? Subtract 1. Done for completed years. For exact age, start with days: if the target day is smaller than the birth day, borrow the actual days of the previous calendar month and reduce the target month by 1.
Subtract months: if the target month is smaller than the birth month, add 12 and reduce the target year by 1. Subtract years. Sanity check: rebuild forward from the birth date (add years, then months, then days). You should land exactly on the target date.
Common Mistakes and How to Fix Them
This section lists the mistakes briefly, with the fix for each. The companion guide on common age calculation mistakes covers each one in depth, with more worked examples and verification methods. This post is the step-by-step method; that post is the mistakes guide.
| Mistake | What goes wrong | The fix |
|---|---|---|
| Subtracting years only | Answer is one year too high when the birthday has not happened yet | Always run the birthday check in Step 2 |
| Borrowing 30 days by habit | Result is off by 1 or 2 days near February or 30-day months | Borrow the actual length of the previous calendar month |
| Borrowing days without reducing the month | A month gets counted twice | Reduce the month by 1 every time you borrow days |
| Borrowing 12 months without reducing the year | The year comes out one too high | Reduce the year by 1 every time you borrow months |
| Mixing DD/MM and MM/DD formats | The entire calculation uses the wrong date | Write dates as YYYY-MM-DD before starting |
| Using today when the question names another date | You answer a different question than asked | Use the exact reference date from the question |
| Dividing total days by 365 | Ignores leap years and calendar structure | Use the calendar borrowing method for exact age |
| Switching methods halfway through | Double adjustments corrupt the result | Pick one method and follow it to the end |
How to Check Your Work
Three checks catch almost every error: 1. Rebuild the Date Forward Start from the date of birth and add your answer back. Using the borrowing example: born October 30, 1995, calculated age 30 years, 3 months, 16 days.
Add 30 years to reach October 30, 2025. Add 3 months to reach January 30, 2026. Add 16 days to reach February 15, 2026. That matches the target date, so the arithmetic is internally consistent.
If you land anywhere else, the borrowing step is the first place to look. 2. Sanity-Check the Completed Years Strip the answer down to years and run the two-step birthday check independently. Born October 30, 1995, target February 15, 2026: 2026 minus 1995 = 31, birthday not yet reached, so 30 completed years.
That agrees with the exact calculation above. If the year components disagree, something went wrong in the month or year borrowing. 3. Cross-Check With a Calculator Enter the same two dates into our age calculator and compare.
If the results differ, check the date format first, then the reference date, then whether a borrowing step was skipped. Persistent one-day differences near month ends usually come from different month-end conventions, covered below.
Why Two Calculators Can Show Slightly Different Results
Completed years almost always agree. Exact months and days can differ by a day between tools, and both can be defensible. The reason is month-end dates: someone born on January 31 has no matching day in February, so systems split that interval using slightly different conventions.
Neither is wrong. They just define the month boundary differently. If your result must match a specific administrative system, use that system’s convention consistently rather than mixing sources.
What About February 29 Birthdays?
Someone born on February 29 ages every year like everyone else. Only the anniversary date needs a substitute in non-leap years.
For completed years on February 28, 2026, a person born February 29, 2000 has completed 26 full years: 2026 minus 2000 = 26, and the February 28 convention counts the birthday as reached. Our leap-year birthday guide covers the February 28 versus March 1 conventions in full.
When to Use a Calculator Instead
Manual calculation is worth learning: it builds intuition, works without a device, and the forward-rebuild check teaches calendar structure. For one-off answers, though, a calculator is faster and eliminates borrowing slips.
Run the manual method when you want to understand the answer, and use the age calculator when you want to verify it or handle many dates quickly.
Calendar Method vs 30-Day Method: Same Dates, Different Answers
Not every age calculation uses the real calendar. Some methods, including the one in certain psychometric test manuals, treat every month as exactly 30 days. Here is what happens when both methods meet the same dates. The dates are 15 January 2025 to 10 March 2025, a non-leap year, so February 2025 has 28 days.
| Calendar method (this page) | 30-day method | |
|---|---|---|
| Born | January 15 | January 15 |
| Target date | March 10 | March 10 |
| Days borrowed | 28 (February’s real length) | 30 (assumed) |
| Result | 1 month, 23 days | 1 month, 25 days |
| Gap | 2 days |
In a leap year the gap shrinks to 1 day: 15 January 2024 to 10 March 2024 gives 1 month, 24 days by the calendar method (February 2024 has 29 days) against the same 1 month, 25 days by the 30-day method.
The 30-day method exists for a reason: standardized tests need every test-taker scored identically, and a fixed 30-day month removes calendar variation. But for birthdays, legal ages, and real life, the calendar method is correct. Use the 30-day method only when a test manual tells you to.
The Column Method, Step by Step
Write the target date above the birth date in three columns: Year, Month, Day. Subtract from right to left, Day first, then Month, then Year. Worked example: born June 8, 1988; target November 4, 2026.
Years: 2026 minus 1988 = 38. The June 8 birthday already passed, so completed years = 38. Months: November is month 11, June is month 6. Day 4 is less than day 8, so borrow one month: 11 minus 1 minus 6 = 4 months.
Days: 4 plus 31 (October’s length, the month before November) minus 8 = 27 days. Result: 38 years, 4 months, 27 days. Total days lived: 14,028. Decimal years: 38.41.
The golden borrowing rule
When the day subtraction goes negative, borrow from the previous month’s real length. Borrow 28 or 29 from February (29 in a leap year), 30 from April, June, September, or November, and 31 from the rest.
Never borrow a flat 30. Leap years are handled automatically: if the previous month is February in a leap year, you borrow 29 days.
Shortcuts for other tools
In Excel or Google Sheets, =DATEDIF(birthdate, TODAY(), “y”) returns completed years, “m” returns total months, and “d” returns total days. In Python, from datetime import date gives you date subtraction that counts real calendar days. For a quick mental check, subtract the years and subtract 1 if the birthday has not occurred yet this year.
How This Guide Compares
Three manual age guides rank for the same query, and each one works the borrowing a little differently. The table below lines them up so you can judge each one on its own terms.
| Feature | This guide | ToolKIShop | ToolGhost | CalcCentrals |
|---|---|---|---|---|
| Free to read, no sign-up | Yes | Yes | Yes | Yes |
| Step-by-step borrowing method | Yes | Yes | Yes | Yes |
| Worked examples with total days | Yes | No | No | No |
| Decimal years given | Yes | No | No | No |
| Full leap-year rule (4/100/400) | Yes | Yes | No | Yes |
| Calendar vs 30-day method | Yes | No | No | No |
| Month-end conventions explained | Yes | No | No | No |
| Excel and Python shortcuts | Yes | No | No | Yes |
| Embedded calculator | No, linked | Yes | No | Yes |
What is still missing from this guide: it gives no embedded calculator, only links to one, and it shows no screenshots of the borrowing steps. ToolKIShop and CalcCentrals both embed a calculator that runs the same borrowing method.
What only this guide gives you is the worked examples with total days and decimal years, the calendar versus 30-day comparison with the leap-year variant, and the month-end conventions, all worked by hand in the guide above.
Sources
U.S. Naval Observatory: Leap Years FAQ (the Gregorian leap rule, and the 365.2425-day average year)
NIST: Time and Frequency from A to Z (Leap Year) (why February borrowing varies between 28 and 29 days)
United Nations Statistics Division: Demographic Yearbook 2007 (age counted as completed solar years, worked out by exact date subtraction)
Frequently Asked Questions
Is age just the current year minus the birth year?
No. That subtraction is only the preliminary step. Completed age also requires the birthday check: if the birthday has not occurred yet in the target year, subtract 1. Without that check the answer is a full year too high for everyone with a later birthday.
How do you calculate exact age in years, months, and days?
Subtract right to left: days, then months, then years. When the target day is smaller than the birth day, borrow the actual days of the previous calendar month and reduce the target month by 1.
When the target month is smaller than the birth month, add 12 months and reduce the target year by 1. Then subtract the years.
Should you always borrow 30 days?
No. Borrow the actual number of days in the calendar month immediately before the target month: 28 for February (29 in a leap year), 30 for April, June, September, and November, 31 for the rest. Defaulting to 30 is the most common borrowing error.
What if someone was born on the 31st?
The borrowing method still works, but month-end dates need care going forward. Adding one month to January 31 has no exact landing day in February, so different systems use slightly different conventions.
For hand calculation, the borrowing steps above give a consistent answer. For official purposes, follow the convention of the system you are reporting to.
Why do two age calculators sometimes show different months or days?
They use different conventions for month-end boundaries, as described above. Completed years should always match. If the years differ, one of them missed the birthday check.
Can you calculate age for a past or future date?
Yes. The method does not care whether the target date is today, last year, or ten years from now. Put the date the question asks about in the target slot and run the same steps. Never default to today when the question names a different date.
How are February 29 birthdays handled in manual calculation?
The person ages every year. In non-leap years, use February 28 or March 1 as the anniversary substitute, matching whatever convention your context requires, then run the normal birthday check against that substitute date.
Is total days lived divided by 365 the same as age?
No. That division ignores leap years and produces a fractional year count, not a calendar age. It is fine for rough estimates but not for exact answers. The calendar borrowing method is the correct manual approach.
Does time zone affect calendar age?
For calendar age in years, months, and days, no. The calculation uses calendar dates, not timestamps. Time zones only matter if you are counting exact hours lived across a zone boundary, which is a different question.
When is calculating manually better than using a calculator?
When you want to understand the result, check a calculator’s output, work without a device, or teach someone else. The forward-rebuild check alone catches errors no black-box tool explains. For speed or bulk dates, the calculator wins.
Verify Your Manual Result
Worked through the steps above? Enter the same date of birth into our free age calculator to confirm your answer. If the numbers match, your manual method is solid. For an age on a specific past or future date, use the Age on a Specific Date calculator.
To count the total days lived, use the Days Lived calculator. If you want the same calculation in a spreadsheet, see the guide on how to calculate age in Excel.