What it does
The date calculator moves a date forward or back by years, months, weeks and days, and shows:
- Result date with its weekday, such as Thursday, 9 April 2026.
- ISO date, such as 2026-04-09, with its own Copy button.
- Total days moved, such as +30 days, or −30 days when you subtract.
- Steps: each part of the sum and the date it reaches.
The answer updates as soon as you change a date or a number.
How to use it
- Start date starts as today. Change it with the calendar, or type the year, month and day.
- Pick Add or Subtract.
- Enter the years, months, weeks and days. Leave any of them at 0.
- Select Copy result to put the answer on your clipboard.
Add or Subtract and the four numbers are kept on this device. The start date isn’t: each visit starts from today.
How it’s calculated
Years and months go first: the date moves by 12 × years + months, to the same day of the target month. When that month is shorter, the date lands on its last day, so 31 January + 1 month is 28 February, or 29 February in a leap year. Then 7 × weeks + days are added as whole days.
For example, 31 January 2026 + 1 month + 30 days is 28 February 2026 after the month, then 30 March 2026 after the days: 58 days in all.
Good to know
- Dates use the Gregorian calendar, extended back to the year 1, and go up to 31 December 9999. A result outside that range is marked at Start date.
- Each number is a whole number from 0 up to the most that fits in that range: 9,998 years, 119,987 months, 521,722 weeks or 3,652,058 days.
- Adding then subtracting months can give a different date than the start when the start is near the end of a month.
- Whole days are counted, with no times of day, so time zones and daylight saving don’t change the result.
- To count the days between two dates instead, use days between dates.
Privacy
Everything is worked out in your browser, on your device. Nothing you type is uploaded. The start date isn’t stored; only Add or Subtract and the four numbers are kept, in this browser’s storage, so the page can show them again.