Date Difference Calculator

Date Difference Calculator

Calculate days between dates, working days excluding weekends and holidays. Add/subtract time from dates. Support for Poland, USA, Germany, UK, France holidays

"How many days between July 4 and December 25" sounds like subtraction. The interesting question is "how many business days, excluding weekends and German Easter Monday but counting Polish All Saints' Day (because the trip is from Berlin to Krakow)". This calculator does plain date differences in years/months/weeks/days, calendar-aware working-day counts with holidays for 30+ countries, and add/subtract operations that respect month-end edge cases.

Why "days between dates" has several correct answers

  • Calendar days (inclusive both ends) — Mar 1 to Mar 5 = 5 days (counting both Mar 1 and Mar 5).
  • Calendar days (exclusive of start, inclusive of end) — same range = 4 days. The "until" interpretation: 4 days "until" Mar 5 starting Mar 1.
  • Calendar days (exclusive both ends) — same range = 3 days. Days "in between" not counting either endpoint. Less common in everyday usage.
  • Business days — same range, Mar 1 (Wed) to Mar 5 (Sun) = 3 working days (Wed, Thu, Fri).
  • Business days excluding holidays — if Mar 3 is a holiday in your jurisdiction, drop to 2 days.

Most legal and contractual contexts use one specific convention. "Net 30 days" means the invoice payment is due 30 calendar days after issue date (not 30 business days). "30 working days" or "30 business days" excludes weekends and statutory holidays. Misreading the convention is the #1 cause of payment-deadline disputes.

Working example: a contract deadline

Input

Start: 2026-04-01
End:   2026-04-30
Country: Poland (for holiday calendar)

Output

Calendar days:       29 days (exclusive start) or 30 days (inclusive both)
Calendar weeks:      4 weeks 1 day
Months:              0 years, 0 months, 29 days   (calendar diff)

Working days excluding weekends:      22
Working days excluding PL holidays:   21  (Easter Monday 2026-04-06)

End date adjustments:
  +30 calendar days from Apr 1 → May 1 (Friday — but PL public holiday)
  +30 business days from Apr 1 → May 15
  +1 month from Apr 1 → May 1 (calendar month)

"Easter Monday is a Polish public holiday but not, for example, a US holiday." Working-day counts depend on which country's calendar you use. For multi-jurisdiction contracts, name the calendar explicitly: "business days as defined by [city's] stock exchange".

Holiday calendar gotchas

  • Easter-linked holidays move every year — Good Friday, Easter Monday, Whit Monday, Corpus Christi. Algorithmic computation possible but rarely worth implementing yourself; use a calendar library (workalendar, holidays for Python; date-fns for JS does not include holidays — use date-holidays).
  • Substitute days — if a public holiday falls on a weekend, some countries (UK, Japan) shift the observed holiday to the next Monday. Some (Germany, US federal) do not.
  • Half-day holidays — Christmas Eve, New Year's Eve in many European countries. Banks close at noon; offices may or may not. Not consistent.
  • Local holidays — Bavarian holidays differ from Berlin's; Catalonia from Madrid; Quebec from Ontario. National holiday APIs typically miss these.
  • New holidays — Juneteenth became a US federal holiday in 2021. Holiday databases need updating; many do not get the most recent additions.

Month arithmetic and the end-of-month problem

"One month from January 31" — when? February 31 does not exist. Most libraries pick February 28 (or 29 in leap years), some pick March 3, some throw an error. Adding consecutive single-month operations is not associative: (Jan 31 + 1 month) + 1 month = Feb 28 + 1 month = Mar 28, but Jan 31 + 2 months = Mar 31. Be explicit about your convention.

For invoice due dates, the right convention is usually "end of month if origin is end of month, else same day next month". For age calculations, the right convention is "same day next month, anchor to last day if shorter". Different APIs default to different conventions.

When to reach for this tool

  • You are checking a contract deadline that says "20 working days" and want to know the exact end date including the relevant country's holidays.
  • You are planning a project schedule and need realistic delivery dates that respect weekends and statutory holidays.
  • You are computing eligibility periods (warranty expiration, return policy windows, lease renewal deadlines) where the exact day matters.
  • You are comparing dates from different jurisdictions and need both perspectives — "30 days from now" in business terms differs by country.

What this tool will not do

  • It will not know about your company's private holidays. The calendar includes statutory/public holidays for each country, not company-specific PTO policies, religious observances not legally recognized in that jurisdiction, or local-only holidays below the federal level.
  • It will not handle time-zone-dependent date arithmetic. "1 January 2026 in Tokyo" and "1 January 2026 in New York" are 14 hours apart in real time. The calculator treats dates as calendar abstractions, not specific moments in time.
  • It will not predict future holiday calendars. Some holidays (Easter) are algorithmic and can be projected indefinitely. Others (one-off royal jubilees, government-declared bank holidays for events) are added by the holiday-data maintainer; future-only-declared holidays may not be in the database yet.

Frequently asked questions

How many weeks are between two dates?

Calendar days divided by 7, rounded down to weeks + remainder days. "How many ISO weeks" is a different question — counts week numbers crossed in the Gregorian week-numbering system. Most "weeks between" questions want the first definition.

Why does my calculator say "1 month" between Jan 31 and Feb 28?

End-of-month convention. Jan 31 to Feb 28 is exactly 28 days but conceptually "one month later" (the last day of the month). Different libraries handle this differently; some report 28 days, some 1 month, some both. Read your tool's documentation if precision matters.

Are weekends always Saturday and Sunday?

In most Western countries, yes. In Saudi Arabia, UAE, Israel, and a few others, the weekend is Friday-Saturday or just Saturday. If you are working with Middle Eastern partners, configure the calendar to match — defaulting to Sat-Sun gives wrong business-day counts.

What is the difference between "30 days" and "1 month"?

30 days is always 30 days. 1 month varies from 28 to 31. For invoicing, "Net 30 days" is unambiguous; "Net 1 month" depends on the issue date. Tax authorities and contracts usually use "30 days" or "calendar month" explicitly to avoid the ambiguity.

How do I compute "the last business day of the month"?

Take the last calendar day of the month, walk backward until you find a non-weekend, non-holiday day. The calculator can return this directly with "previous working day from EOM" option. For tax filings and quarter-end reports, this is the common convention.

Why are Easter dates so weird?

Easter is the first Sunday after the first ecclesiastical full moon after the vernal equinox. Algorithmically computable (the Computus, defined by the Council of Nicaea in 325 AD), but the formula is non-trivial. Easter can fall anywhere between March 22 and April 25. Most Easter-derived holidays (Good Friday, Easter Monday, Pentecost) inherit the volatility.

Related tools

Last updated · E-Utils editorial team