Adding Working Days to a Date: A Step-by-Step Guide for Setting Realistic Due Dates
Here's a situation almost everyone in an office has faced: a client sends a request on a Friday afternoon and says they need it in "10 business days." You open your calendar, start counting squares, lose track somewhere around the second week, and end up either underpromising or—worse—sending the deliverable a day late because you forgot about a holiday.
Adding working days to a date sounds simple in theory. In practice, it trips people up constantly. Weekends throw off the count. Public holidays get forgotten. The difference between "10 calendar days" and "10 business days" can stretch a deadline by nearly two weeks if you're not careful.
This guide walks through exactly how to do it correctly, manually and programmatically, with real examples you can follow along with.
Why Business Days Matter for Deadlines
Calendar days are honest but often irrelevant. If you tell someone you'll deliver a report "in 14 days," they might picture two weeks from now—but if six of those days are weekend days, your actual working window is only eight days. The number sounds generous; the timeline isn't.
Business days (sometimes called working days) are weekdays only: Monday through Friday. Some organizations also exclude public holidays, though which holidays count depends on the country, region, or even the company itself. For this guide, we'll define a business day as any weekday that isn't a public holiday.
When you quote a deadline in business days, you're being more precise. You're saying: "I'm counting the days I'm actually at my desk, capable of working on this." That's a contract clients and colleagues understand.
The Core Rule: How to Add N Business Days
The logic is straightforward once you see it clearly. To add N business days to a start date:
- Start from the next business day after your start date (if the start date itself is not counted as Day 1).
- Count forward, skipping Saturdays, Sundays, and any public holidays.
- Stop when you've counted N business days.
- That date is your due date.
There's one important judgment call to make upfront: does Day 1 begin on the start date itself, or the day after? Most legal contracts and professional services conventions treat the start date as Day 0—so "5 business days from Monday" means the due date is the following Monday, not Friday. But some industries count Day 1 as the start date, making the same "5 business days" fall on Friday instead. Always clarify this with whoever is setting the deadline.
For the examples below, we'll use the more common convention: the start date is Day 0, and counting begins the next business day.
Worked Example 1: A Simple Case with No Complications
Start date: Monday, July 7
Add: 5 business days
Holidays in range: None
Starting from Tuesday, July 8 (Day 1), count forward:
- Day 1 → Tuesday, July 8
- Day 2 → Wednesday, July 9
- Day 3 → Thursday, July 10
- Day 4 → Friday, July 11
- Day 5 → Monday, July 14 (skip Saturday 12, Sunday 13)
Due date: Monday, July 14.
This is where most people get it wrong the first time. They count "5 business days" starting from Monday and land on Friday. But Tuesday through Friday is only four business days. The fifth one is the following Monday.
Worked Example 2: Starting on a Friday
Start date: Friday, July 11
Add: 3 business days
Since the start date is a Friday, Day 1 is the very next business day—which is Monday.
- Day 1 → Monday, July 14
- Day 2 → Tuesday, July 15
- Day 3 → Wednesday, July 16
Due date: Wednesday, July 16.
The weekend acts as a natural gap. When your start date falls on a Friday (or a Thursday if Friday is a holiday), the business day count doesn't resume until the following Monday. This is the weekend roll-over rule: you simply skip over Saturday and Sunday and continue counting on Monday.
Worked Example 3: A Holiday in the Middle
Start date: Wednesday, August 20
Add: 5 business days
Holiday: Monday, August 25 (a public holiday)
Without the holiday, 5 business days from Wednesday would land on Wednesday, August 27. But there's a public holiday on Monday the 25th, which would normally be Day 4 in our count. That day gets skipped, pushing everything back by one.
- Day 1 → Thursday, August 21
- Day 2 → Friday, August 22
- Day 3 → Monday, August 25 → SKIP (public holiday)
- Day 3 → Tuesday, August 26 (the count doesn't advance on a holiday)
- Day 4 → Wednesday, August 27
- Day 5 → Thursday, August 28
Due date: Thursday, August 28.
The holiday rule is identical in behavior to the weekend rule: you skip that day and continue counting from the next valid business day.
Doing This in a Spreadsheet
If you're working in Excel or Google Sheets, you're in luck—there's a built-in function called WORKDAY that handles this automatically.
The syntax is:
=WORKDAY(start_date, days, [holidays])
Where:
start_dateis your starting cell or date valuedaysis how many business days to addholidaysis an optional list of dates to exclude (a range of holiday dates)
So for Example 1 above, if A1 contains July 7, 2025, you'd write:
=WORKDAY(A1, 5)
And it would return July 14. For Example 3 with the holiday, if B1:B1 contains the holiday date:
=WORKDAY(A1, 5, B1:B1)
This returns August 28, exactly as we calculated manually. One thing to note: the WORKDAY function starts counting from the day after the start date by default—matching our Day 0 convention. If you want the start date to count as Day 1, use WORKDAY(A1-1, 5) instead.
Doing This in Code (Python)
For developers or anyone building tools that calculate deadlines automatically, Python's datetime module makes this clean. Here's a function that does it properly:
from datetime import date, timedelta
def add_business_days(start: date, n: int, holidays: set = None) -> date:
holidays = holidays or set()
current = start
days_added = 0
while days_added < n:
current += timedelta(days=1)
if current.weekday() < 5 and current not in holidays:
days_added += 1
return current
Usage:
from datetime import date
start = date(2025, 7, 7)
due = add_business_days(start, 5)
print(due) # 2025-07-14
With holidays:
holidays = {date(2025, 8, 25)}
due = add_business_days(date(2025, 8, 20), 5, holidays)
print(due) # 2025-08-28
The weekday() method returns 0 for Monday through 6 for Sunday, so checking < 5 filters out Saturday (5) and Sunday (6). The rest is just iteration: keep moving forward one day at a time and only increment the counter when you land on a valid business day.
Common Mistakes to Avoid
Counting the start date as Day 1. Unless you've specifically agreed to this convention, most professional deadlines treat the start date as Day 0. When in doubt, ask.
Forgetting regional holidays. If you're working across borders, what's a holiday in one country is a regular workday in another. A "10 business day" turnaround sent from London to a US client around Thanksgiving will look very different to each side. Build in buffer, or clarify upfront which holiday calendar applies.
Not accounting for partial days. If a project starts at 4:30 PM on a Tuesday, does Tuesday count as Day 1? Technically it might be a weekday, but there's barely any working time left. Consider whether your deadline convention should require the work to start at the beginning of the day to count Day 1.
Trusting mental math alone. Even experienced project managers get this wrong when they're in a hurry. Use a spreadsheet formula or a date calculator for anything where the deadline actually matters. The five minutes it takes to verify is worth it.
Using Online Business Day Calculators
If you don't have a spreadsheet open and need a quick answer, a number of reliable online tools can calculate this for you in seconds. Most will let you enter a start date, a number of business days, and optionally a country so it can pull in the correct public holidays. These are useful for quick spot-checks and for verifying your manual count is right.
The best ones show you the full calendar with each day marked, so you can see exactly which days were skipped and why—which also makes it easy to explain the calculation to a client if they push back on the due date you give them.
Building a Culture of Realistic Deadlines
Getting the mechanics right is only half the problem. The other half is actually using business-day deadlines consistently in your team's communication.
When you send a deadline in calendar days, people interpret it loosely—they might work over the weekend to hit it, or they might assume weekends don't count. When you say "10 business days from today," the expectation is precise. It also forces both sides to think about what's actually feasible.
A team that quotes deadlines in business days and knows how to calculate them accurately tends to miss deadlines less often. Not because they work harder, but because they stop making promises based on vague arithmetic.
Start with the next deadline you set—pick a start date, count forward the right number of business days, skip the weekends, check the holidays, and confirm the actual date before you send it. It takes two minutes and removes a whole category of misunderstanding from your working life.