Skip to content

Date & Time

Date Difference Calculator

Find the exact duration between two dates in days, weeks, months, and years — with leap years and month lengths handled correctly.

Leap years and month lengths are handled by a real calendar engine — no 30-day approximations. Runs locally.

Calendar Arithmetic Done Honestly

Date differences are harder than they look because months have unequal lengths and February changes size. This calculator computes in UTC with real calendar rules, so the difference between 2026-02-01 and 2026-03-01 is reported in exact months and days, not a fixed 30-day approximation that drifts over long spans.

Leap years follow the full Gregorian rule — divisible by 4, except centuries, which must be divisible by 400 — so spans crossing 2000 or 2100 stay correct. Business-day mode additionally skips weekends (with holiday exclusion where configured), which is the number a contract deadline or SLA actually needs.

How the Dates Are Calculated

  1. Pick the start and end dates with the date inputs.
  2. The tool reports total days, plus a broken-down calendar duration in years, months, and days.
  3. Weeks and remaining days are shown for planning purposes.
  4. A leap-year-aware calendar engine performs all month-length arithmetic — no approximations.
Formula & Technical Standard
Calendar decomposition counts full years, then full months, then remaining days; total days uses UTC-normalized date arithmetic.

Worked Example

Project timeline
Input: 2026-01-15 → 2026-09-14
Output: 242 days · 7 months, 30 days
Both the raw day count and the calendar decomposition are useful for contracts and schedules.
Leap year handling
Input: 2024-02-01 → 2024-03-01
Output: 29 days (2024 is a leap year)
February 2024 had 29 days; the calculation reflects that automatically.

Common Questions

Is the end date included in the count?

The count is exclusive of the end date by default (2026-01-01 → 2026-01-02 is 1 day). The inclusive total is also shown.

How far back can dates go?

Any date the browser date input supports (year 1 to 275760 in practice), including historical dates before the Gregorian switch — note pre-1582 results use proleptic Gregorian rules.