Moving a date forward or back by days, weeks, months or years
Date arithmetic starts from one date and moves by a chosen calendar unit. Days and weeks have fixed day counts; calendar months and years need a rule when the target month has no matching day.
Date arithmetic changes one selected calendar date by a number of days, weeks, months or years. Days and weeks move by fixed day counts. For months and years, the tool first targets the destination month, then uses the same day number if present or its final day if absent.
Day and week offsets remain distinct from calendar month moves. The result states its weekday, ISO date and month-end clamping rule so leap-February outcomes are explainable.
How start date, direction, amount and unit decide the landing date
The same number can land on different dates depending on the unit. These inputs, together with the month-end rule, control where the result falls.
- Starting date
- The date the move begins from, read as a calendar day with no time attached. Day numbers 29 to 31 matter most, because some target months lack them; a start between the 1st and the 28th never needs adjusting for a month move. The start weekday appears in the facts, so you can confirm the intended day was picked.
- Move forward or backward
- Forward adds and backward subtracts, using the same rules both ways. Going back one month from March 31, 2024 lands on February 29, 2024, and the signed elapsed-day fact shows −31. A negative signed figure is a quick check that the direction was set as intended.
- Number of units
- A whole number from 0 to 36,500. Decimals such as 1.5 months are rejected, so convert a half month into days yourself. Zero returns the start date unchanged, and a result outside the years 1 to 9999 produces an error rather than a wrapped date.
- Calendar unit
- Days and weeks move by exact counts of 1 or 7 days, while months and years follow the calendar. From October 2, 2026, adding 90 days lands on December 31, 2026, but adding 3 months lands on January 2, 2027, which is 92 days later. Use the unit your rule is written in, because 90 days and three months are not interchangeable.
- Month-end clamping
- When the target month lacks the start's day number, the result moves to that month's last day. Each move is measured from the original date rather than stepped month by month, so January 31, 2024 plus 2 months is March 31, not March 29. One year after February 29, 2024 is February 28, 2025, while four years after is February 29, 2028.
Steps
- Select the starting date with the shared calendar or type its ISO date.
- Choose forward or backward, then enter a whole number and its unit.
- Read the resulting weekday and signed day shift; for months or years, check the month-end note.
Reading tip: Use days for an exact elapsed-day offset and months for a calendar-month milestone. The two can land on different dates around February or other month ends.
Dates you can find by shifting from a known day
Plan a calendar milestone
Move forward by exact calendar months without treating each as 30 days.
Check a due date
Subtract a fixed number of days from a scheduled event date.
Navigate leap February
Apply the stated month-end rule when the target month lacks the original day.
Confirm a weekday
Read the weekday and ISO date of the shifted calendar result.
How the calculation works
- start
- Valid entered calendar date interpreted at UTC midnight.
- amount
- Nonnegative whole number of chosen calendar units.
- signed offset
- Positive for addition or negative for subtraction of the entered units.
- last day
- Final valid date number of the target month, including leap-February rules.
A calendar month is not treated as 30 days. Clamping a missing day is a stated convention and is not always reversible.
What every part means
- start
- Valid entered calendar date interpreted at UTC midnight.
- amount
- Nonnegative whole number of chosen calendar units.
- signed offset
- Positive for addition or negative for subtraction of the entered units.
- last day
- Final valid date number of the target month, including leap-February rules.
Calculate it step by step
Choose which way the calendar moves.
Apply exact day or week offsets to UTC calendar dates.
One year is 12 calendar months; clamp an impossible day to month end.
A starting date of January 31, 2024 plus one month becomes February 29, 2024. The signed elapsed-day fact is calculated after the calendar move, not assumed to be 30 days per month.
See how Calculation Guide tests examples and handles calculation limits.
See it in practice
- Starting date
- 2024-01-31
- Move
- Forward (add)
- Number of units
- 1
- Calendar unit
- Months
January 31, 2024 + 1 calendar month: target month is February 2024, whose final day is 29; min(31,29) = 29, so result is February 29.
- Result ISO date2024-02-29
- Result weekdayThursday
Interpretation & limitations
How to read your result
The weekday and ISO result help verify that the move landed on the intended date. A zero amount returns the original date.
Where this estimate stops
Legal deadlines may use inclusive counting, business days or special holiday rules; this is plain calendar arithmetic. Month-end clamping is a stated convention, not a universal institutional rule.
Frequently asked questions
01What is one month after January 31?
The result is the last day of February: February 29 in a leap year or February 28 otherwise.
02Is adding 30 days always one month?
No. Calendar months contain 28 to 31 days; the tool treats those choices differently.
03What is one year after February 29?
The target February lacks day 29 in a non-leap year, so the result is February 28.
04Can I subtract months?
Yes. Backward month moves use the same target-month and last-day rule.
05Does adding one month then subtracting one month always return the start?
No. A date clamped at month end can lose the original day number, so a reverse move may differ.
06Does the result depend on my local timezone?
No. These are calendar dates interpreted at UTC midnight to avoid daylight-saving day shifts.