CalcOpenly

Days between dates calculator

Days between two dates, also as years, months and days, weeks and hours, plus business days after weekends and your own holidays.

Updated Checked against 6 worked examples

= 2026-09-27
= 2026-12-26
Counts the last day too, so 1 to 3 March is 3 days instead of 2.
More options
One ISO date per line, optionally followed by a name.
Try
Total days
days
Total days: 90 days
Shown to whole number, half-up
Years, months and days
0 years, 2 months, 29 days
Whole years
0
Months after whole years
2
Days after whole months
29
Whole weeks
12
Days after whole weeks
6
Hours
2,160h
Business days
65
Weekend days
25

From Sun 27 Sep 2026 to Sat 26 Dec 2026 is 90 days — 0 years, 2 months, 29 days, or 12 weeks and 6 days. Of those, 65 days are business days.

The span

90 days: 27 Sep 2026 to 26 Dec 202690 daysStartSun 27 Sep 2026EndSat 26 Dec 2026

Kinds of day

65business days
Business days72.2%Weekend days27.8%
How it's calculated S
  1. Count days with day numbers

    N(end)−N(start)=20813−(20723)=90N(\text{end}) - N(\text{start}) = 20813 - (20723) = 90

    N counts days from 1 January 1970 in the proleptic Gregorian calendar.

  2. Whole months, then days

    2 whole months from Sun 27 Sep 2026 reach Fri 27 Nov 2026; 29 days more reach Sat 26 Dec 2026.

    Months are counted from the start date's day of the month. When that day doesn't exist in a month (the 31st in April, the 29th–31st in February), the month's last day is used.

  3. Weeks and hours

    90=7×12+6,90×24=2160 h90 = 7 \times 12 + 6,\qquad 90 \times 24 = 2160\ \text{h}
  4. Business days

    90−25 weekend−0 holidays=6590 - 25\ \text{weekend} - 0\ \text{holidays} = 65

    Weekend: Saturday and Sunday. Holidays that fall on a weekend are not subtracted twice.

About the days between dates calculator

Each date is turned into a day number, the count of days since 1 January 1970 in the Gregorian calendar, and the difference of the two numbers is the number of days between them. The years, months and days figure steps whole months forward from the start date; when that day of the month doesn't exist, the month's last day is used. Business days are the total minus weekend days minus any listed holidays that fall on working days.

People use it for notice periods, visa and residence stays, project schedules and interest periods. From 31 January to 1 March 2024 is 30 days, which reads as 1 month and 1 day because one month after 31 January is 29 February in a leap year.

The end date is left out by default, the same convention as subtracting dates in a spreadsheet. Switch on "Include the end date" when both the first and last days count: leave from Monday to Friday is 5 days, not 4.

How to count the days between two dates by hand

Split the span at month boundaries: count the days left in the start month, add the full months in between, then add the day of the end month. From 14 March to 9 August 2026:

  1. Days left in March after the 14th: 31 − 14 = 17.
  2. Full months between: April 30 + May 31 + June 30 + July 31 = 122.
  3. Days into August: 9.

The total is 17 + 122 + 9 = 148 days, the figure the calculator gives, which is also 4 months and 26 days. This method counts 15 March through 9 August; the calculator's default counts 14 March through 8 August. Both leave out one end, so both give 148.

A span that crosses 31 December works the same way. From 20 November 2025 to 6 February 2026, 20 November is day 324 of a 365-day year, so 365 − 324 = 41 days of 2025 follow it, and 6 February is day 37 of 2026: 41 + 37 = 78 days.

Day-of-year table

The day number of each month's first and last day turns most counts into one subtraction: find each date's day of the year and subtract. The leap-year column applies to 2024, 2028 and every other year divisible by 4, except century years not divisible by 400.

MonthDays1st is day (common year)Last day is day (common year)1st is day (leap year)Last day is day (leap year)
January31131131
February28 (29)32593260
March3160906191
April309112092121
May31121151122152
June30152181153182
July31182212183213
August31213243214244
September30244273245274
October31274304275305
November30305334306335
December31335365336366

For 14 March to 9 August 2026, 9 August is day 213 + 8 = 221 and 14 March is day 60 + 13 = 73, and 221 − 73 = 148. The week number and day of the year calculator gives the day number of any date directly.

Inclusive, exclusive and clear days

Take 3 to 10 March 2026, Tuesday to Tuesday. Subtracting the dates gives 7. Counting both ends gives 8. Counting neither end gives 6, which is what "clear days" means. Laws and contracts pick one of these, and the wrong one moves a deadline by a day.

ConventionStart dateEnd date3 to 10 March 2026Where it is used
Subtraction (calculator default)CountedLeft out7 daysSpreadsheet date subtraction; hotel nights
InclusiveCountedCounted8 daysLeave booked from one date to another; rota counts
Clear daysLeft outLeft out6 daysNotice periods for UK company meetings
US federal court deadlinesLeft outCounted7 daysFiling periods in days

The UK Companies Act 2006, s.360 excludes both the day notice is given and the day of the meeting. A private company's general meeting needs at least 14 days' notice under s.307, so notice given on 1 June 2026 allows a meeting on 16 June at the earliest. In the calculator, 1 June to 16 June is 15 days, which counts 1 June; take off 1 for the day the notice was given and 14 clear days remain.

US federal courts use Federal Rule of Civil Procedure 6(a): exclude the day of the triggering event, count every day including weekends and holidays, and include the last day, but if that day is a Saturday, Sunday or legal holiday the period runs to the next day that is not. A 10-day period triggered on Wednesday 4 March 2026 would end on Saturday 14 March, so it moves to Monday 16 March. The add or subtract days calculator finds the end date from a start date and a number of days.

How business days are counted

Business days are the total days minus weekend days minus holidays that fall on working days. The inclusive setting matters here too: a count of April 2026's working days needs "Include the end date" switched on, or Thursday 30 April is dropped and the count falls from 22 weekdays to 21. With the two Easter bank holidays in England and Wales, Good Friday on 3 April and Easter Monday on 6 April (gov.uk bank holidays), April 2026 has 20 working days.

Excel's NETWORKDAYS counts both the start and end dates. Microsoft's example returns 110 working days from 1 October 2012 to 1 March 2013, while the calculator's default gives 109 for the same dates because 1 March 2013, a Friday, is left out. NumPy's busday_count also leaves out the end date.

A holiday that falls on a weekend is not subtracted a second time. Over Christmas 2026 in England and Wales, 26 December is a Saturday and the Boxing Day bank holiday moves to Monday 28 December. Listing 25, 26 and 28 December and 1 January for the span from 24 December 2026 to 4 January 2027 removes 3 days, not 4, and leaves 4 business days. Scotland has a different list: for 2026 it includes 2 January, a one-off World Cup bank holiday on 15 June and St Andrew's Day on 30 November, has its summer bank holiday on 3 August rather than 31 August, and leaves out Easter Monday. To find the date a number of working days after a start date, use the working days deadline calculator.

Why months and years are not fixed lengths

A month is 28 to 31 days, so the months-and-days figure depends on where the span starts. The calculator steps whole months forward from the start date's day of the month, and when that day doesn't exist it uses the month's last day:

  • 1 February to 1 March 2026 is 28 days and reads as exactly 1 month.
  • 30 January to 1 March 2026 is 30 days and reads as 1 month and 1 day, because one month after 30 January is 28 February.
  • 28 February to 31 March 2026 is 31 days and reads as 1 month and 3 days.
  • 31 March to 30 April 2026 is 30 days and reads as exactly 1 month, because April has no 31st.

Two spans with the same number of days can therefore show different months and days. When a contract, loan or statute sets a period in days, use the total days; when it sets months, use the months figure and check the end-of-month case. The same logic runs the age calculator, which counts months from the day of birth.

Mistakes that change the count

  • Day and month order. Typed as 03/04/2026, the calculator reads 3 April, the day-first order used in the UK and most of the world; a US reader means 4 March. ISO dates (2026-04-03) avoid the ambiguity.
  • Hours across a clock change. The hours figure is days × 24. A span that includes a daylight-saving change in your time zone really contains one hour more or fewer.
  • Dates before the Gregorian calendar. The calculator uses the Gregorian calendar for all dates, including before it was adopted. Britain moved from the Julian calendar in 1752 under the Calendar (New Style) Act 1750, so the day after 2 September 1752 was 14 September. The calculator puts 12 days between those dates; people living then experienced 1. Convert historical dates first with the calendar converter.

Worked examples

Month-end start in a leap year

Start date
2024-01-31
End date
2024-03-01
Weekend
Sat–Sun
Total days
30 days
Whole years
0
Months after whole years
1
Days after whole months
1
Whole weeks
4
Days after whole weeks
2
Hours
720 h
Business days
22

Checked against: Python 3.8 datetime: (date(2024,3,1) − date(2024,1,31)).days = 30; dateutil.relativedelta (same end-of-month clamp) = 1 month 1 day; numpy.busday_count = 22

Leap day to leap day

Start date
2023-02-28
End date
2024-02-29
Weekend
Sat–Sun
Total days
366 days
Whole years
1
Months after whole years
0
Days after whole months
1
Hours
8,784 h
Business days
262

Checked against: Python 3.8 datetime difference = 366 days; dateutil.relativedelta = 1 year 1 day; numpy.busday_count = 262

Whole year counting the end date

Start date
2026-01-01
End date
2026-12-31
Include the end date
yes
Weekend
Sat–Sun
Total days
365 days
Years, months and days
1 year, 0 months, 0 days
Business days
261

Checked against: Python 3.8: date(2027,1,1) − date(2026,1,1) = 365 days; numpy.busday_count('2026-01-01','2027-01-01') = 261

Friday–Saturday weekend

Start date
2026-01-15
End date
2026-02-15
Weekend
Fri–Sat
Total days
31 days
Business days
21
Weekend days
10

Checked against: numpy.busday_count('2026-01-15','2026-02-15', weekmask='1111001') = 21

Questions

How do I calculate the number of days between two dates?

Subtract the earlier date from the later one using day numbers, which is what a spreadsheet does with =B1-A1. From 1 January to 31 December 2026 that gives 364 days; add 1 if the last day should count as well, giving 365. Counting on a calendar by months goes wrong at month ends and leap years, which day numbers handle automatically.

Does the day count include the start date and the end date?

It includes the start date and leaves out the end date, so 1 to 3 March is 2 days, matching Excel date subtraction and Python's date arithmetic. Turn on "Include the end date" to count both, which makes 1 to 3 March 3 days. Contracts and statutes sometimes define their own rule, so check the wording when a deadline has legal effect.

How many working days are there in 2026?

2026 has 261 weekdays, Monday to Friday. England and Wales have 8 bank holidays in 2026, all on weekdays (gov.uk lists Boxing Day as Monday 28 December), which leaves 253 working days. For another country, paste its public holidays into the holidays box, one ISO date per line, and they are taken off the business-day count.

How are months counted between two dates?

Months are counted from the start date's day of the month, and a day that doesn't exist in the target month becomes that month's last day. So 31 January plus one month is 29 February 2024, and 31 January to 1 March 2024 is 1 month and 1 day. Microsoft notes that Excel's DATEDIF with the "MD" unit may return a negative number, a zero or an inaccurate result, which this method avoids.

How many weeks are between two dates?

Divide the number of days by 7: the whole number is the weeks and the remainder is the extra days. 90 days is 12 weeks and 6 days, and a leap year's 366 days is 52 weeks and 2 days. Pregnancy is dated in the same weeks-plus-days form, written 12+6.

How accurate is the days between dates calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 6 worked examples whose answers come from independent sources; for example, “Month-end start in a leap year” is checked against Python 3.8 datetime: (date(2024,3,1) − date(2024,1,31)).days = 30; dateutil.relativedelta (same end-of-month clamp) = 1 month 1 day; numpy.busday_count = 22.

Where does the method come from?

ISO 8601-1:2019 — Date and time, representations for information interchange; Howard Hinnant — chrono-compatible low-level date algorithms (days_from_civil); NumPy busday_count (business-day counting convention: end date excluded).

About this calculator

days=N(end)−N(start),N=days since 1970-01-01\text{days} = N(\text{end}) - N(\text{start}),\qquad N = \text{days since 1970-01-01}

Sources

  1. ISO 8601-1:2019 — Date and time, representations for information interchange
  2. Howard Hinnant — chrono-compatible low-level date algorithms (days_from_civil)
  3. NumPy busday_count (business-day counting convention: end date excluded)

Checked against references

6 worked examples with independently sourced answers ship with this calculator. They run in the test suite; you can run them here too.

Related calculators

Allow optional Google Analytics to measure page visits? Calculators work either way. Privacy and choices

Optional analytics: off.