Add or subtract dates

Shift a date by years, months, weeks and days using a clear month-end rule.

Jump to result

Your inputs

Updates as you type

resulting date

2026-02-28

Calendar-day change
28

Month-end clamping is applied before the day/week shift.

Calculations happen in your browser. Saving is optional.

How to use this tool

Choose a starting date and enter positive or negative years, months, weeks and days.

Years and months are combined first; an unavailable month-end day is clamped before the day and week shift.

Shift years/months together, clamp the day to month end, then add weeks/days

Worked example

2026-02-28 · resulting date

Fixed example using the settings below. Monetary examples use USD; dates and times use their stated reference values. This example stays unchanged when you edit your calculation.

Example inputs
  • Starting date: 2026-01-31
  • Years to add (negative subtracts): 0
  • Months to add (negative subtracts): 1
  • Weeks to add (negative subtracts): 0
  • Days to add (negative subtracts): 0

Method illustration: 2026-01-31 plus one month is 2026-02-28.

Assumptions and limits

  • Combines years and months into one month shift. An unavailable day is clamped once to the target month's final day.
  • Calendar dates use UTC arithmetic to avoid DST changing day counts.

Check or report a result

Check the units, selected calculation and assumptions first. Compare the fixed example above with your inputs to identify what changed.

Report a calculation issue with the page address, hypothetical inputs, result displayed and result expected. Do not include passwords, bank details or other private information.