Date Add Calculator
Add years, months, and days to a starting date to find the resulting date.
Enter your values and click Calculate
Adding a fixed amount of time to a known date is a fundamental planning calculation: when does a 12-month contract that starts March 7th expire? When is the renewal date for a quarterly subscription signed on April 15? When is 90 days after surgery for a follow-up appointment? When does a 6-month probation period end? This calculator accepts any start date and lets you add any combination of years, months, and days to find the resulting future date. Month and year addition handles all edge cases automatically — adding months across year boundaries and clamping over-length months to their last valid day. The result displays in both a human-readable format and ISO 8601 (YYYY-MM-DD) for use in forms or systems.
How It Works
The start date is constructed as a UTC midnight Date object. Years are added by calling setUTCFullYear(year + addYears), months by setUTCMonth(month + addMonths), and days by setUTCDate(day + addDays). Each setter is applied separately so that month-end clamping occurs at the correct step: if the start date is January 31 and you add 1 month, setUTCMonth moves to February and the Date constructor clamps February 31 to February 28 (or 29). Days are added last so that adding 1 day to February 28 correctly yields March 1. All operations use UTC to prevent DST clock shifts from affecting the result. Total days added is computed as the millisecond difference between the result and the start, divided by 86,400,000.