Days Between
Select two dates to see the difference
Quick Date Info
Select a date above to see its details.
This date calculator answers two recurring planning questions: how many days separate two dates, and what date falls a given number of days before or after a starting point. It encodes the Gregorian calendar rules that trip up mental math — uneven month lengths, year rollovers, and leap-year February — and returns day, week, month, and year equivalents along with the weekday and ISO week number.
How to Use
- Pick a mode: Days Between or Add / Subtract.
- In Days Between, choose a start and end date. The result shows total days, whole weeks, whole months, and years.
- In Add / Subtract, choose a base date and enter a day count. A negative value subtracts; the result shows the new date and its weekday.
- Read the Quick Info cards for the day of the week, weekend status, leap-year status, and ISO week number of the relevant date.
Worked Examples
Example 1 — invoice ageing. Start 2026-01-15, end 2026-03-10. The difference is 54 days, 7 weeks, 1 month, and 0 years. Note that 7 weeks (49 days) and 1 month do not sum to 54; they are independent whole-unit counts of the same span, not additive parts.
Example 2 — a one-week delivery window. Start 2025-12-25, end 2026-01-01 returns exactly 7 days, 1 week, 0 months, 0 years. The dates also straddle a year boundary, which the tool handles without special input.
Example 3 — adding across a year end. Base 2026-12-30, add 5 days → 2027-01-04, which is a Monday and the first working day of the year. Subtracting instead: base 2026-01-04, add -5 → 2025-12-30.
Example 4 — a leap day. Base 2024-02-28, add 2 → 2024-03-01. In a non-leap year the same operation gives 2025-03-02 from 2025-02-28, because February 2025 has only 28 days.
Days, Weeks, Months, and Years: What Each Number Means
| Field | Rule | Useful for |
|---|---|---|
| Days | Absolute count of calendar days; both endpoints normalized to midnight | Invoicing, deadlines, gestation and countdown math |
| Weeks | floor(days ÷ 7) | Sprints, rental periods, notice windows |
| Months | Whole calendar months, decremented when the end day-of-month is earlier than the start day-of-month | Contracts, subscriptions, probation periods |
| Years | floor(total whole months ÷ 12) | Tenure, age bands, long-range planning |
Because months and years are truncated whole units, the displayed month count can be smaller than the number of days suggests. That is deliberate: a contract dated Jan 15 for “one month” does not usually expire on Feb 14.
The Leap-Year Rule Behind the Results
A year is a leap year when it is divisible by 4 and not by 100, unless it is also divisible by 400. So 2024 and 2000 are leap years, while 1900 and 2100 are not. This matters for two reasons: February gains a 29th day in leap years, shifting the day count of any span that crosses it, and adding days near the end of February can land on a different date depending on the year. The calculator applies the rule automatically, so 2024-02-28 plus 2 days and 2025-02-28 plus 2 days correctly produce different results.
Edge Cases Worth Knowing
- Month-end clamping is not exposed here. The Add / Subtract mode works in days, so it never has to decide whether “one month after Jan 31” is Feb 28 or Mar 3. If you need that behavior, use a calendar app that supports the month rule you want.
- Equal dates return zero. Select the same start and end and the result is 0 days; the month and year counters stay at 0 rather than guessing a positive minimum.
- Weekend and leap flags describe one date, not the span. In Days Between mode the quick-info panel reports the start date; in Add / Subtract mode it reports the calculated result.
- Timezone edges. The tool uses the local date fields of the browser. A user in UTC+13 entering “today” while a server in UTC-8 is still on the previous day can see a one-day discrepancy in automated comparisons.
Real-World Scenarios
Notice periods. A tenancy agreement ending 2026-06-30 with 60 days’ notice gives 2026-05-01 as the last day to serve notice — plug the end date in as the base and subtract 60. Working backward is the more reliable direction, because it tells you the deadline rather than how long you have left.
Pregnancy weeks. From a last menstrual period of 2026-01-05, 280 days lands on 2026-10-12. The calculator reports 40 weeks, the conventional full-term estimate; clinicians then adjust from an early scan.
Sprint planning. A two-week sprint starting 2026-03-02 ends on 2026-03-16. Because both endpoints are normalized and the span is exclusive of the start instant, a team that counts the start day as day one should add one to the result or set the base 14 days before the desired end.
Contract renewals. An annual subscription beginning 2025-08-31 renews 2026-08-31. The tool reports 365 days and 12 months; it does not model the month-end clamping some contracts use, so confirm the renewal clause if the start date is the 29th, 30th, or 31st.
Related Tools
Frequently Asked Questions
Does the order of the two dates matter in Days Between mode?
No. The calculator takes the absolute difference, so Jan 5 to Jan 20 and Jan 20 to Jan 5 both return 15 days. The result panel relabels the earlier date as the start and the later date as the end so the output stays readable either way.
How does the tool count months — is each month treated as 30 days?
No, months are counted as whole calendar months, not 30-day blocks. Jan 15 to Mar 10 is 1 month, because the tool advances a full calendar month to Feb 15 and finds the remaining 23 days do not complete another month. The day count shown alongside is the true number of days: 54 in that example.
Can I add or subtract months and years, or only days?
The Add / Subtract mode accepts whole days only. Entering a negative number subtracts, so -30 moves the base date back by 30 days. The library contains month and year helpers, but they are not exposed in the interface.
Why does the ISO week number disagree with my spreadsheet?
The tool uses the ISO 8601 rule: weeks start on Monday and week 1 is the week containing January 4. Spreadsheets often default to a Sunday-start, US-style week, which can shift the number by one. Check which convention your report requires before copying the value.
What time of day is used when the two dates are compared?
Both dates are reset to local midnight before subtracting, so time-of-day is ignored. That makes the day count stable across most timezone boundaries and daylight saving transitions, though a date entered near midnight in a very different timezone can still differ by one.
How are leap years and February 29 handled?
Leap years follow the Gregorian test: divisible by 4, except centuries, unless divisible by 400. Because the offset mode uses native date arithmetic, adding 2 days to 2024-02-28 correctly lands on 2024-03-01, and the quick-info panel flags whether the selected year is a leap year.
Reviewed by the HandyTools Hub team · Last updated