Skip to content
ToolMoose

Date Calculator

Count the days between dates, or add and subtract from any date.

Pick both dates to see the difference.

Worked examples

Days between 1 Jan and 31 Dec 2026
That is 364 days, or 11 months and 30 days, which is 52 weeks and 0 days.
Add 90 days to 1 July 2026
The result is Tuesday, 29 September 2026.

How it works

This date calculator has two modes. Switch between them with the tabs at the top.

Difference between two dates

Pick a start date and an end date. The calculator finds the gap between them in a few useful units at once. The math is order-independent: it always measures from the earlier date to the later one, so you get the same answer whichever box you put each date in.

  • Total days is the raw number of calendar days between the two dates. It is the difference in milliseconds divided by the length of a day, rounded to the nearest whole day. This counts elapsed days (nights), so the start date itself is not counted.
  • Calendar breakdown expresses the same gap in years, months, and days. It works the way a person counts an age or an anniversary: it compares the year, month, and day parts and borrows from the larger unit when the day or month goes negative. This respects the real length of each month, so the same number of days can be a different breakdown depending on which months it spans.
  • Total weeks divides the day count by 7. The leftover shows the remaining days, so 52 weeks and 0 days is a full non-leap year.

Add or subtract from a date

Pick a start date, choose Add or Subtract, type an amount, and pick a unit (days, weeks, months, or years). The result is shown in full, for example Saturday, 15 August 2026.

Days and weeks are simple: the tool moves the date forward or back by that many days (a week is 7 days). Months and years are calendar-aware. Adding a month keeps the same day number where possible, but if the target month is shorter the extra days roll into the next month. For example, 31 January plus 1 month gives 3 March, because February is not long enough to hold a 31st. Likewise, adding a year to 29 February gives 1 March in a non-leap year.

A note on precision

All calculations use whole calendar dates, not clock time, so daylight saving changes and time zones do not shift the result. If you need working days, remember that this tool counts every day, weekends included.

Frequently asked questions

Are both the start and end dates counted?
No. This calculator returns the number of nights (elapsed days) between the two dates, so the start date is not counted as a full day. For example, from 1 January to 2 January is 1 day. If you need to count both endpoints (an inclusive count often used for event or rental durations), add 1 to the total.
How are months added when the day does not exist, like Jan 31 plus 1 month?
Adding one month to 31 January lands on 3 March, because February has no 31st day and the extra days roll forward into March. This matches how JavaScript date math works with setMonth. If you need the last day of the target month instead, subtract days until you reach 28 February (or 29 in a leap year).
Does this count business days or calendar days?
Calendar days. Every day, including weekends and public holidays, is counted. For a working-days total you would need to exclude Saturdays, Sundays, and any holidays, which this tool does not do.
Does the calculator handle leap years?
Yes. The day count is based on real calendar dates, so leap days (29 February) are included automatically when they fall inside the range. When adding a year to 29 February, the result rolls to 1 March in a non-leap year, since that year has no 29 February.

Last updated: 2026-07-01