Date Add/Subtract Calculator

Add or subtract days, weeks, months, or years from any date

About This Tool

Adds or subtracts a duration (days, weeks, months, years) from a starting date and returns the resulting calendar date. Calendar arithmetic respects leap years and varying month lengths.

Month addition uses end-of-month clamping: January 31 + 1 month = February 28 (or 29 in leap years), not March 3. Year addition similarly handles February 29 → February 28 in non-leap target years.

Date arithmetic is deceptively complex because the calendar itself is irregular. Days have fixed length (24 hours, ignoring DST and leap seconds); weeks are exactly 7 days. Months have 28-31 days, varying by month and (for February) by leap year. Years have 365 or 366 days. Adding 'one month' is therefore not a fixed duration but a calendar-relative operation. The clamping convention (January 31 + 1 month = February 28/29 rather than March 3) matches Excel, JavaScript Date.prototype.setMonth, Java's java.time, and most date libraries; the rollover convention (January 31 + 1 month = March 3) is used by some financial software but produces surprising results.

A worked example: starting from 2024-01-31 and adding one month gives 2024-02-29 (leap year, clamped to last valid day of February). Starting from 2025-01-31 (non-leap) and adding one month gives 2025-02-28. Starting from 2024-02-29 and adding one year gives 2025-02-28 (leap day in non-leap year clamps to 28). These edge cases catch out anyone who treats 'one month' as a fixed 30 or 31 days, particularly when handling subscription billing, contract end dates, and recurring meetings.

Leap year detection uses the Gregorian rule: a year is a leap year if divisible by 4, except century years (divisible by 100) which must also be divisible by 400. So 2000 is leap, 1900 is not, 2024 is, 2100 won't be. The simpler Julian rule (every 4 years) was replaced by Gregorian in 1582 in Catholic Europe and at staggered dates elsewhere (1752 in Britain and its colonies, 1918 in Russia). For dates before the Gregorian transition, the proleptic Gregorian calendar (extending the rules backward) is the modern computational standard, though historical documents may use Julian dating.

Limitations include timezone and business-day handling. Pure date arithmetic (adding 30 days) ignores timezones; the result is a date, not a moment in time. Adding 30 days × 24 hours of duration to a timestamp can drift by an hour across DST transitions. Business-day arithmetic (adding 5 working days) requires a holiday calendar that varies by region; the tool provides weekend skipping but cannot enumerate every country's holidays. Federal holidays in the US, bank holidays in the UK, and observance lists from financial calendars (NYSE, LSE) are appropriate external references for business-day calculations that need to match institutional schedules.

The about text and FAQ on this page were drafted with AI assistance and reviewed by a member of the Coherence Daddy team before publishing. See our Content Policy for editorial standards.

Frequently Asked Questions