Move one civil date by declared units

Add or subtract a calendar offset

Enter a starting date in YYYY-MM-DD form, select addition or subtraction, and provide whole values for years, months, weeks, or days. Review both the final date and the displayed rule summary.

Loading the date calculator…

Enable JavaScript to apply calendar offsets. The unit order, month-end behavior, leap-year examples, and date-versus-time distinction remain readable below.

Mixed calendar units are not freely interchangeable

Operation order is part of the calculation contract

This calculator applies years and months before weeks and days. That order is observable. Starting at January 30, adding one month and then two days can reach March 2 in a common year because the month step first clamps to February 28. Adding two days first reaches February 1, after which one month reaches March 1. Both sequences are defensible; they are not the same operation.

Years and months modify calendar fields. Weeks and days then cross a fixed number of date labels, with one week defined as seven days. The tool does not convert a year to 365 days or a month to 30 days. When subtraction is selected, the same ordered model is applied in the negative direction rather than swapping the labels after an unrelated calculation.

Record the original date, each signed unit, the order, and the final date when the result enters a test case or business rule. A naked output such as “April 30” does not reveal whether an intermediate clamp occurred.

Year/month phase
Move calendar fields and clamp the day if necessary.
Week/day phase
Advance or retreat whole date boundaries.
One week
Exactly seven calendar days.
Not included
Hours, time zones, holidays, and business schedules.

Invalid dates need a declared resolution

Month-end clamp keeps the result inside the requested month

Start and changeResult ruleWhy
2025-01-31 + 1 month2025-02-28February 2025 has no day 31, so use its final day.
2024-01-31 + 1 month2024-02-29The leap-year February has 29 valid days.
2024-02-29 + 1 year2025-02-28The destination year has no February 29.
2025-03-31 − 1 month2025-02-28Backward month movement uses the same final-day clamp.

Clamp is not rollover. Some programming APIs construct an invalid February 31 and normalize it into March; that produces a different contract. The page uses the last valid day specifically so adding a month aims at the requested destination month.

Date arithmetic is not schedule arithmetic

Choose another tool when exclusions or clock time matter

Count all date boundaries

Use Days Between Dates when both endpoints already exist and you need an included or excluded day count.

Skip weekends and holidays

Use the Business Days Calculator for a working-day schedule with explicit weekend and holiday inputs.

Find ISO week identity

Use the Week Number Calculator when the goal is an ISO week-year, week number, and weekday.

Calendar movement answers

Date calculator FAQ

In what order are years, months, weeks, and days applied?

The calculator applies the signed year and month movement first, clamps the day if the destination month is shorter, and then applies whole weeks and days. Order matters near month ends, so this contract is shown with the result.

What happens when the destination month has fewer days?

The day is clamped to the final valid day of the destination month. For example, moving one month from January 31 reaches the last day of February rather than overflowing into March.

Does adding one month mean adding 30 days?

No. A calendar month moves the year-month field and keeps the day when valid, while 30 days advances exactly 30 date boundaries. These operations can produce different dates.

Does daylight saving time affect the result?

No. This page operates on Gregorian date-only values, not zoned timestamps. Advancing one date boundary is a calendar operation even when the elapsed interval between local midnights is 23 or 25 hours.

What date format should I use?

Enter the starting civil date as YYYY-MM-DD. Native date controls may render a localized label, but the value contract and copied interpretation use year-month-day order.