Date Calculator

Calculates date differences or adds/subtracts time — business days, ISO week and more.

Date difference and calendar arithmetic

Calculating "how much time is there between two dates" or "what date results from adding N days to another" looks trivial, but hides real calendar decisions — months of different lengths, leap years, what to do when the source day doesn't exist in the target month. This tool solves both operations (they're inverses of each other) on the same screen, under the same two modes: Difference and Add/Subtract.

Inclusive vs. exclusive counting

Between Jan 1st and Jan 3rd there are "2 days" (exclusive — the distance between the two points) or "3 days" (inclusive — also counting the start day itself)? Both answers are correct, depending on what the question actually means (a trip that starts on day 1 and ends on day 3 lasts 3 nights, but the interval between the two points in time is 2 days). This tool exposes both conventions instead of silently picking one — the toggle only appears when time is off, since with time included the difference is already exact by nature.

Adding months/years past month-end (Jan 31 + 1 month)

February doesn't have 31 days — so "Jan 31 + 1 month" can't become "Mar 3" (which is what would happen if the calculation simply "rolled over" the excess into the next month). This tool uses the same convention as Excel/Google Sheets (EDATE) and widely used date libraries: when the source day doesn't exist in the target month, the result falls back to the last valid day of that month (Jan 31 + 1 month = Feb 28, or Feb 29 in a leap year).

Hours/minutes/seconds are exact time — days/weeks/months/years are calendar

With time included, "adding 1 day" and "adding 24 hours" can produce a result that differs by up to 1 hour, on a daylight saving time transition day. Days/weeks/months/years advance by calendar field (always the same wall-clock time, including across a DST region); hours/minutes/seconds advance by exact elapsed time (always precise to the millisecond). Both semantics are intentional — each answers a different question.

Business days: Monday to Friday, no holidays

The business day count only considers the fixed calendar (excludes Saturday and Sunday) — there is no national/regional holiday database in this version, since holidays vary by country and change year to year. Treat the number as a calendar-based business day approximation, not a worked-day count accounting for holidays.

Frequently asked questions

February doesn't have 31 days. Instead of letting the excess "roll over" into the next month (which JavaScript's native date constructor would do on its own), this tool uses the same rule as Excel/Google Sheets: it falls back to the last valid day of the target month. See "Adding months/years past month-end", above.

Inclusive counting adds 1 day to the interval, also counting the end day (e.g., Jan 1st to Jan 3rd becomes 3 days instead of 2). It only shows up without time included — with time, the difference is already exact, with no such ambiguity.

No. Business days here just means "not a Saturday or Sunday" — national/regional holidays vary by country and by year, and are out of scope for this version (see "Business days", above).

Usually none — but on a daylight saving time transition day, they can differ by 1 hour. "1 day" advances a calendar field (same wall-clock time on the next day); "24 hours" advances an exact elapsed time. See "Hours/minutes/seconds are exact time", above.

No — it's just this page's own URL with the entered values as parameters. It keeps working as long as the tool exists, with no server storing the calculation.

Years/months/days form a single, unambiguous calendar breakdown. "Weeks" shows up as an independent total (how many weeks fit in the whole interval), not as a fourth unit inside that same breakdown — mixing the two would require an extra convention with no clear standard (how many "leftover" days become a week vs. a loose day).