CalcOpenly

Business days calculator: add working days to a date

The deadline N business days after or before a start date, skipping weekends and the holidays you list, with the calendar days it spans.

Updated Checked against 5 worked examples

= 2026-09-27
One ISO date per line (YYYY-MM-DD), optionally followed by a name.
More options
Only applies when the start date is itself a working day.
Try
Deadline
Friday, 9 October 2026
Deadline: Friday, 9 October 2026
Day of the week
Friday
Calendar days
12days
Weekend days skipped
2

10 working days after Sun 27 Sep 2026 is Friday, 9 October 2026 — 12 calendar days later, skipping 2 weekend days.

Working days to the deadline

10 working days: 27 Sep 2026 to 9 Oct 202610 working daysStartSun 27 Sep 2026DeadlineFri 9 Oct 2026

Calendar days in the span

12calendar days
Working days83.3%Weekend days16.7%
Day by day (13 rows)
DateCounts as
Sun 27 Sep 2026Start (not counted)
Mon 28 Sep 2026Working day 1
Tue 29 Sep 2026Working day 2
Wed 30 Sep 2026Working day 3
Thu 1 Oct 2026Working day 4
Fri 2 Oct 2026Working day 5
Sat 3 Oct 2026Weekend
Sun 4 Oct 2026Weekend
Mon 5 Oct 2026Working day 6
Tue 6 Oct 2026Working day 7
Wed 7 Oct 2026Working day 8
Thu 8 Oct 2026Working day 9
Fri 9 Oct 2026Working day 10
How it's calculated S
  1. Rule

    Start counting on the day after Sun 27 Sep 2026; the start date itself is not counted.

    Weekend: Saturday and Sunday.

  2. Skip non-working days

    12 calendar days=10 working+2 weekend+0 holiday12\ \text{calendar days} = 10\ \text{working} + 2\ \text{weekend} + 0\ \text{holiday}
  3. Deadline

    Friday, 9 October 2026.

About the business days calculator

Counting starts on the day after the start date. Each day that is neither a weekend day nor a listed holiday counts as one working day, and the nth such day is the deadline; going backwards works the same way from the day before. This is the convention of Excel's WORKDAY functions and NumPy's busday_offset. A holiday that falls on a weekend is skipped once, not twice.

It is used for payment terms, statutory response times, service-level targets and delivery estimates. Five working days after Friday, 18 December 2026, with Christmas Day and New Year's Day listed, is Monday, 28 December, 10 calendar days later. England and Wales also have a bank holiday on 28 December 2026, the substitute day for Boxing Day; list it and the deadline moves to Tuesday, 29 December.

Public holidays differ by country and region, so none are assumed: paste your own, one ISO date per line.

Worked examples

Five working days over Christmas

Start date
2026-12-18
Working days
5
Direction
After the start
Weekend
Sat–Sun
Holidays
2026-12-25 Christmas 2027-01-01 New Year
Deadline
2026-12-28
Day of the week
Monday
Calendar days
10 days
Weekend days skipped
4
Holidays skipped
1
Holidays in the way
Christmas (Fri 25 Dec 2026)

Checked against: numpy.busday_offset('2026-12-18', 5, roll='backward', holidays=[...]) = 2026-12-28; skipped days counted by hand on a 2026 calendar

Starting on a Saturday

Start date
2026-01-17
Working days
1
Direction
After the start
Weekend
Sat–Sun
Deadline
2026-01-19
Day of the week
Monday

Checked against: numpy.busday_offset('2026-01-17', 1, roll='backward') = 2026-01-19

Friday–Saturday weekend

Start date
2026-01-15
Working days
10
Direction
After the start
Weekend
Fri–Sat
Deadline
2026-01-29
Calendar days
14 days

Checked against: numpy.busday_offset('2026-01-15', 10, roll='backward', weekmask='1111001') = 2026-01-29

Ten working days back over New Year's Day

Start date
2026-01-15
Working days
10
Direction
Before the start
Weekend
Sat–Sun
Holidays
2026-01-01
Deadline
2025-12-31
Day of the week
Wednesday
Holidays skipped
1

Checked against: numpy.busday_offset('2026-01-15', -10, roll='forward', holidays=['2026-01-01']) = 2025-12-31

Questions

How do I work out 10 business days from a date?

Count forward from the next day and skip weekends and public holidays. With no holidays in the way, 10 business days is two full working weeks, so from a weekday it lands on the same weekday 14 calendar days later: 10 business days after Thursday, 15 January 2026 is Thursday, 29 January. Each holiday on a weekday pushes the deadline one working day further.

Is the start date counted as a business day?

Not by default. The first working day is the day after the start, the same as Excel's WORKDAY, so 1 business day after a Monday is Tuesday. Some contracts and procedures count the start date as day 1; switch on that option and 10 working days from Thursday, 15 January 2026 ends on Wednesday, 28 January instead of Thursday, 29 January.

What if the start date falls on a weekend or holiday?

Counting still begins with the next working day, so the weekend adds nothing. 1 business day after Saturday, 17 January 2026 is Monday, 19 January, the same answer as from Friday, 16 January. With the start-date option on, a start that isn't a working day can't be day 1, and the calculator warns you.

How many working days are in a month?

Between 20 and 23 weekdays before public holidays. February has exactly 20 in a common year and 20 or 21 in a leap year; a 30-day month has 20 to 22 and a 31-day month 21 to 23, depending on the weekday it starts on. A year of 261 weekdays, as in 2026, averages 21.75 per month.

How accurate is the business days 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 5 worked examples whose answers come from independent sources; for example, “Five working days over Christmas” is checked against numpy.busday_offset('2026-12-18', 5, roll='backward', holidays=[...]) = 2026-12-28; skipped days counted by hand on a 2026 calendar.

Where does the method come from?

Microsoft Excel WORKDAY.INTL function (same convention: the start date is not counted); NumPy busday_offset.

About this calculator

deadline=the n-th day after the start that is neither a weekend day nor a holiday\text{deadline} = \text{the } n\text{-th day after the start that is neither a weekend day nor a holiday}

Sources

  1. Microsoft Excel WORKDAY.INTL function (same convention: the start date is not counted)
  2. NumPy busday_offset

Checked against references

5 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.