Add or subtract days, weeks, or months from any date
Enter a start date, choose add or subtract, and pick days, weeks, months, or years to get the resulting date and day of the week.
About the date calculator
This calculator adds or subtracts a number of days, weeks, months, or years from any starting date. It uses JavaScript's native date arithmetic β for days and weeks it shifts the day-of-month by the equivalent number of days (a week is always treated as exactly 7 days), and for months and years it shifts the month or year component directly, letting the calendar sort out the resulting date.
For simple day and week math, the result is always exact: adding 10 days to a date always lands exactly 10 calendar days later, with no ambiguity. Month and year math is a little different, because calendar months don't all have the same number of days. When you shift the month or year component of a date directly, most JavaScript environments (and this calculator) will "roll over" into the next month if the original day-of-month doesn't exist in the target month.
The classic example: January 31 plus one month doesn't land on February 31 (which doesn't exist), so it rolls forward to March 2 or 3 depending on whether it's a leap year β the extra days beyond February's last day spill into March. The same thing can happen with year math on February 29 in a leap year, if the target year isn't also a leap year. This is standard, well-defined date arithmetic behavior, not a bug, but it can be surprising if you're not expecting it.
This calculator is useful for a wide range of everyday date math: finding a deadline a certain number of business days or weeks out, figuring out what date it was a certain number of months or years ago, calculating a due date or anniversary, or simply checking what day of the week a future or past date falls on.
The result is shown as a full formatted date along with its day of the week, calculated directly from the resulting date object rather than assumed, so it's always correct even across month and year rollovers, leap years, and daylight saving time changes.
Date calculator questions
How adding and subtracting dates works, including month rollover.
How do I add days to a date?
Enter your start date, choose "Add," select "Days" as the unit, and enter the number of days. The calculator shifts the date forward by exactly that many calendar days and shows the resulting date and day of the week.
How do I subtract weeks or months from a date?
Enter your start date, choose "Subtract," select "Weeks" or "Months" as the unit, and enter the amount. The calculator shifts the date backward accordingly β a week is always treated as exactly 7 days.
What happens when adding a month lands on a date that doesn't exist?
The date rolls over into the next month. For example, January 31 plus one month doesn't become February 31 (which doesn't exist) β it rolls forward to March 2 or 3, since the extra day(s) spill into the following month. This is standard calendar date arithmetic, not an error.
How do I find what day of the week a date falls on?
Enter any date as the start date with an amount of 0, or simply use the result of any calculation β the calculator always shows the day of the week (like "Friday") alongside the full formatted date.
Does this date calculator account for leap years?
Yes. Because it uses real calendar date arithmetic rather than fixed day counts per month or year, leap years and February 29 are automatically handled correctly.
Can I calculate a date a certain number of years in the future or past?
Yes β select "Years" as the unit, choose add or subtract, and enter the number of years. Note that a leap-year February 29 start date can roll over to March 1 if the target year isn't also a leap year.
Sources & references
The formulas and guidelines used on this page are based on publicly available data from: