{"id":"iso-date-age","version":"1.0.0","description":"Compute the calendar-aware elapsed years, months, and days between a birth date and an as-of date.","supported_operations":["iso date age","age in years months days","elapsed calendar time between dates"],"unsupported_operations":["negative age","total days or months as a single unit (use iso-date-difference or iso-date-add-months)","timezones"],"semantics":["birth_date and as_of_date are strict YYYY-MM-DD proleptic Gregorian UTC calendar dates with year 0001-9999. birth_date must not be after as_of_date.","total_months is the largest whole-month count m such that birth_date plus m whole months (day clamped to the target month, as in iso-date-add-months) does not exceed as_of_date.","years = floor(total_months / 12), months = total_months mod 12.","days is the remaining whole days from (birth_date plus total_months months, clamped) to as_of_date, computed on the civil day serial so it is never negative and never depends on a fixed 28/29/30/31 assumption.","For a birth date of 29 February, the year is not counted as complete until 1 March in non-leap as_of years (29 February clamps to 28 February when added, so day 1 of March is needed to complete the year)."],"limits":{"year_min":1,"year_max":9999},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"required":["birth_date","as_of_date"],"properties":{"birth_date":{"type":"string","minLength":10,"maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"as_of_date":{"type":"string","minLength":10,"maxLength":10,"pattern":"^\\d{4}-\\d{2}-\\d{2}$"}}},"output_schema":{"type":"object","additionalProperties":false,"required":["years","months","days"],"properties":{"years":{"type":"integer","minimum":0},"months":{"type":"integer","minimum":0,"maximum":11},"days":{"type":"integer","minimum":0,"maximum":30}}},"examples":[{"input":{"birth_date":"2020-01-15","as_of_date":"2026-09-15"},"output":{"years":6,"months":8,"days":0}},{"input":{"birth_date":"2000-02-29","as_of_date":"2023-02-28"},"output":{"years":22,"months":11,"days":30}}],"execute_url":"/v1/tools/iso-date-age/versions/1.0.0/execute"}