Results
Milestones
Example data
| Name | DOB | As of | Quick action |
|---|---|---|---|
| Case A (EOM) | 1988-01-31 | ||
| Case B (Leap) | 2000-02-29 | ||
| Case C (Same day) | 2026-03-11 | ||
| Case D (Custom as‑of) | 2010-10-10 | 2025-10-10 |
Batch mode (CSV)
Upload a CSV with columns: name,dob,asof. As of is optional; fallback is today.
| Name | DOB | As of | Age (Y M D) | Total months | Decimal years | Next birthday |
|---|
How it works & notes
- Calendar arithmetic: Completed years, months, and days with month‑end awareness.
- Total months:
(Y₂−Y₁)*12 + (M₂−M₁) − [day₂ < day₁]. - Remainder days: Calculated from the anchor date DOB + years + months to the as‑of date.
- Decimals: Days ÷ basis (365/365.25/365.2425) for years; months ÷ 12.
- Leap‑day policy: Feb‑29 birthdays use Feb‑28 or Mar‑1 in non‑leap years.
- Privacy: No data leaves your browser. Batch files aren’t uploaded.
FAQs
How do you count exact months between two dates?
We use true calendar months. If the as‑of day is smaller than the birth day, we subtract one month. This avoids 30.44‑day shortcuts and matches common HR/medical rules.
How are leap years and Feb‑29 birthdays handled?
Leap days are honored. For Feb‑29 birthdays, choose a policy: celebrate on Feb‑28 or Mar‑1 in non‑leap years. This impacts the “next birthday” milestone date.
Why might decimal years differ from total months ÷ 12?
Decimal years can be based on days ÷ 365/365.25/365.2425. Total months ÷ 12 reflects completed months only, which can differ slightly near month boundaries.
Does timezone matter for date‑only inputs?
We compute using date‑only UTC anchors to avoid DST and midnight drift. Your local timezone only affects default “today” and the shareable link’s
tz tag.Can I process many dates at once?
Yes. Use Batch mode: upload a CSV with name,dob,asof. Results appear in a table you can export to CSV without any server processing.
Is my data stored?
No personal dates are stored or transmitted. All calculations run in your browser. You can clear results anytime with Reset.