The date difference calculator counts the exact number of calendar days between any two dates and expresses the result in days, weeks, approximate months, and approximate years simultaneously. Enter a start date and an end date — if the end date is earlier, the result shows "before" to indicate the direction.
The formula
days = end_date − start_date (in whole calendar days)
weeks = floor(|days| / 7)
remainder_days = |days| mod 7
approx_months = floor(|days| / 30.4375)
approx_years = floor(|days| / 365.25)
The month and year figures use average calendar lengths (30.4375 days/month, 365.25 days/year) and are labelled "approximate" because calendar months have 28–31 days and years are 365 or 366 days.
Practical examples
Example 1 — Days until an event
Today is May 28, 2026. A concert is scheduled for August 15, 2026.
May 28 → August 15: 79 days, 11 weeks 2 days, ≈ 2 months, ≈ 0 years.
Example 2 — Days since a past date
A contract was signed on January 1, 2025. Today is May 28, 2026.
January 1, 2025 → May 28, 2026: 512 days, 73 weeks 1 day, ≈ 16 months, ≈ 1 year, in the past.
Example 3 — Weeks between two dates in different years
Project started March 15, 2023. Deadline is September 30, 2024.
March 15, 2023 → September 30, 2024: 565 days = 80 weeks 5 days.
Common mistakes
Counting the start date as day 1. This calculator counts from the day after the start date. January 1 to January 8 = 7 days, not 8. This matches the standard convention: "7 days from today" means 7 full days elapsed.
Assuming months are 30 days each. The approximate months figure uses 30.4375 days (the average calendar month accounting for leap years). For exact month counts, use the Age Calculator, which tracks calendar month boundaries precisely.
Ignoring direction. If the end date is before the start date, the calculator shows the absolute number with a "before" label. The sign tells you the relationship between the two dates.
International and regional variations
| Context | Convention | Example |
|---|---|---|
| Legal / contract | Calendar days, start day excluded | 30-day notice from Jan 1 expires Jan 31 |
| Finance / settlements | T+2 settlement = 2 business days | Use Business Days calculator for this |
| Medicine / clinical | Inclusive counting common (day 0 = start) | "Day 7 of treatment" = 6 days elapsed |
| Age calculation | Calendar month boundaries, not day count | Use Age Calculator for exact years/months/days |
Quick reference — common date intervals
| Interval | Days | Weeks |
|---|---|---|
| 1 month (average) | ≈ 30.4 | ≈ 4.3 |
| 1 quarter | ≈ 91.3 | ≈ 13 |
| 1 year (non-leap) | 365 | 52 weeks 1 day |
| 1 year (leap) | 366 | 52 weeks 2 days |
| 5 years | 1,826 or 1,827 | 260–261 |
| 10 years | 3,652 or 3,653 | 521–522 |