Add or Subtract Days/Months/Years from a Date
Add or subtract any number of days, weeks, months, or years to a starting date. Returns the resulting date.
What this calculates
When you need to find the date X days, weeks, months, or years from a starting point — contract end dates, project deadlines, age milestones, expiration tracking. This calculator handles all four units with correct calendar arithmetic including leap years and varying month lengths.
Formula & how it works
Days: simple +N days. Weeks: +N × 7 days. Months: increment month field; if resulting day > new month's length (e.g., Jan 31 + 1 month → Feb 28/29), clamp to last valid day. Years: same logic for Feb 29 leap dates. Most date libraries use this 'clamping' approach.
Worked example
Start: 2026-01-31. + 1 month = 2026-02-28 (Feb has 28 days in 2026). + 1 year = 2027-02-28. Start: 2024-02-29 + 1 year = 2025-02-28 (2025 isn't leap). Days: 2026-05-15 + 100 days = 2026-08-23.
Frequently asked questions
Why isn't 'one month later' always 30 days?
Months have 28-31 days. Adding 'a month' to Jan 15 lands on Feb 15 (31 days later). Adding to Jan 31 lands on Feb 28 (28 days later, clamped). Most software follows this calendar-aware convention.
How about business days?
Use the Business Days calculator instead. This one counts all calendar days regardless of weekday.
Negative numbers?
Subtract days/weeks/months/years by entering a negative number. -30 days = 30 days before the start date. Same calendar arithmetic in reverse.
What's a 'fortnight'?
Two weeks (14 days). Common in UK and Australia. Many bi-weekly pay schedules use 14-day periods exactly.
Related calculators
- Days BetweenCalculate exact days, weeks, months, and years between any two dates. Optionally exclude weekends to get business days.
- Business DaysCount business days (Mon-Fri) between two dates, or add a number of business days to a start date.
- Age CalculatorCalculate exact age in years, months, days, hours, and minutes from any birthdate. Also shows total days lived and next birthday countdown.