Business Days Calculator
Count business days or shift a deadline with custom weekend rules, pasted holidays, endpoint controls, and skipped-date ledgers.{{ summaryTitle }}
| Metric | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| # | Date | Day | Role | Copy |
|---|---|---|---|---|
| {{ row.sequence }} | {{ row.date }} | {{ row.day }} | {{ row.role }} |
| Date | Day | Reason | Copy |
|---|---|---|---|
| {{ row.date }} | {{ row.day }} | {{ row.reason }} |
| Rule | Setting | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
Introduction
A deadline that says "within 5 business days" is not the same as 5 dates on a wall calendar. The answer depends on which dates the rule treats as usable working days, which holidays interrupt the span, and whether the first or last date is allowed to count.
Business-day counting is common in invoices, support agreements, shipping estimates, banking notices, HR calendars, court schedules, and project handoffs. The phrase sounds familiar, but it is not a universal time unit. A normal office may exclude Saturday and Sunday, a regional operation may close Friday and Saturday, and a seven-day service may count every weekday unless a holiday has been named.
| Situation | Calendar question | Common mistake |
|---|---|---|
| Payment or invoice term | Which workdays count after the invoice, notice, or receipt date? | Counting the issue date when the agreement starts on the next day. |
| Delivery or service commitment | Which weekends and closure dates interrupt the delivery window? | Using a Monday-to-Friday calendar for a region with a different weekend. |
| Holiday-affected deadline | Does the observed holiday replace or add to the calendar holiday? | Entering only the statutory date when the office actually closes on another date. |
| Banking or market operation | Does the institution follow its own operating calendar? | Treating a branch opening, market closure, and legal holiday as the same rule. |
Calendar-day language counts dates first and handles weekends or holidays only if the governing rule says so. Business-day language filters the calendar before the count is trusted. Banking-day and trading-day rules can be narrower still because they may depend on whether a bank, payment system, exchange, or government office is open for the relevant business.
Endpoint rules create many off-by-one disagreements. If the start date is included, the first date can count when it is a business day. If the start date is excluded, counting begins after the anchor event. The same choice applies at the end of a range, especially in notice periods and service commitments where wording such as "from," "after," "through," and "by" can change the intended count.
A calculated business-day date is a planning aid, not a substitute for the rule that controls the deadline. Contracts, employers, courts, banks, exchanges, and government agencies may define holidays and non-working days differently, so the working calendar should be checked before a date is used for payroll, legal filing, tax, shipping, or service-level commitments.
How to Use This Tool:
Choose the calendar rule first, then enter the date span or deadline shift that matches the job.
- Select Count range when you need a business-day total between a Start date and an End date. Select Add days or Subtract days when you need a due date before or after the anchor date.
- Enter the required dates. In shift modes, enter Business days as a whole number. If the warning says the amount is negative or decimal, the calculation uses zero or truncates the decimal, so fix the value before relying on the output.
- Set Weekend pattern. Use Saturday and Sunday for a conventional office calendar, Friday and Saturday or Sunday only when that matches the schedule, No weekend days for seven-day operations, or Custom weekdays for unusual closures.
- In Count range, set Include start date and Include end date to match the wording of the period. The Business Dates tab is the quickest way to confirm whether the endpoints were counted.
- In Add days or Subtract days, choose Final date adjustment only when a final date that lands on a non-working day must move to the next or previous business day. The Deadline Ledger separates the base calculated date from the adjusted final date.
- Paste Holiday dates one per line. The parser accepts date tokens such as
2026-05-25 Memorial Day,2026/5/25 Memorial Day, or05/25/2026 Memorial Day. Optional labels appear in skipped-date output. - Open Advanced when you need a different Date display, shorter Excluded date detail, or first, last, or full Business date detail in the visible ledgers.
Resolve unread holiday lines, duplicate holiday warnings, empty custom-weekend warnings, and reversed range warnings before copying the handoff note or exporting a ledger.
Interpreting Results:
The summary shows either the signed business-day count or the final due date. The badges show the active mode, calendar days traversed, excluded-date count, and adjustment status.
- Deadline Ledger is the handoff view. It lists the mode, anchor dates, business-day count or final date, calendar days traversed, excluded-date count, and copyable deadline note.
- Workday Mix compares counted business days with weekend skips, holiday skips, and dates that are both weekend and holiday.
- Business Dates lists the dates that actually counted. Use it to catch endpoint choices and shift-mode traversal mistakes.
- Excluded Dates lists dates skipped because of the weekend pattern, holiday list, or both.
- Rule Brief records the business-day definition, parsed holiday count, unread holiday lines, endpoint or adjustment rule, date display, and handoff note.
- JSON preserves the inputs, warnings, result values, counted dates, excluded dates, and rule brief for audit or reuse.
A plausible answer does not prove the calendar is complete. Compare Excluded Dates and Parsed holidays against the official workplace, market, court, bank, or contract calendar before treating the final date as binding.
Technical Details:
Business-day arithmetic is date-only arithmetic. Clock time, work shifts, partial days, and cutoff times are outside the calculation. Calendar dates are normalized as ISO dates and compared as whole-day indexes, so daylight-saving clock changes do not change the day count.
The recurring weekend set and the one-off holiday set are independent filters. A date counts only when its weekday is not in the weekend set and its ISO calendar date is not in the holiday set. A date that is both a weekend and a listed holiday is excluded once, but its reason can show both causes in the skipped-date ledger.
Formula Core:
For range counts, the adjusted range is filtered by a business-day indicator:
W is the selected weekend weekday set, H is the set of parsed holiday dates, R is the range after include-start and include-end choices are applied, and C is the counted business-day total. If the range is reversed, the same filter is scanned backward and the displayed count is negative.
Example substitution: from 2026-05-04 through 2026-05-08, with Saturday/Sunday weekends and 2026-05-06 listed as a holiday, the five calendar dates produce 1, 1, 0, 1, 1. The range count is 4 business days when both endpoints are included.
| Rule area | Applied behavior | Result effect |
|---|---|---|
| Count range | Applies endpoint choices, then scans every date in the resulting interval. | Returns a signed Business day count, counted-date ledger, skipped-date ledger, and endpoint rule. |
| Add days | Starts after the anchor date and moves forward one calendar date at a time until the requested number of business days has counted. | Returns the Base calculated date, Final date, counted dates, and skipped dates. |
| Subtract days | Starts before the anchor date and moves backward through the same business-day filter. | Finds the prior date after weekend and holiday exclusions. |
| Final adjustment | After a shift result is found, a non-working final date can move to the next or previous business day. | The ledger keeps the base calculated date and adjusted final date separate. |
| Holiday parsing | Reads recognizable date tokens with optional labels, ignores duplicate dates after the first entry, and reports unread lines. | Holiday labels appear in Excluded Dates, while invalid lines remain visible as warnings. |
Shift mode does not count the anchor date itself. A request for 1 business day after a Friday moves to the next countable date after Friday. If Monday is a listed holiday and Saturday/Sunday are weekends, the first counted date becomes Tuesday. Subtract mode mirrors that traversal in the opposite direction.
Observed holidays are not inferred. If a Saturday holiday is observed on Friday, the Friday closure must be entered as its own holiday date when that is the applicable calendar. The same principle applies to company shutdowns, exchange closures, court holidays, and contract-specific blackouts.
| Condition | Boundary behavior | What to check |
|---|---|---|
| Invalid start or end date | The calculation stops and shows a validation warning. | Use a valid browser date value before trusting any ledger. |
| Start date after end date | Range mode reports a negative business-day span. | Confirm that a backward comparison is intentional. |
| Decimal business-day amount | The amount is truncated to a whole number. | Use whole-day language before copying a due date. |
| Negative business-day amount | The shifted amount is treated as zero. | Choose Add days or Subtract days instead of entering a negative value. |
| Empty custom weekend | Every non-holiday date can count as a business day. | Use this only for seven-day operations or holiday-only exclusion rules. |
| Very large traversal | The browser calculation has a safety limit of 25,000 scanned calendar days. | Split unusually large ranges if the warning appears. |
Accuracy Notes:
This is a deterministic calculation from the dates and rules entered in the form. The main accuracy risk is choosing the wrong working calendar, not the arithmetic.
- Use the holiday calendar that applies to the workplace, market, bank, court, contract, or service commitment.
- Add observed holidays, company shutdowns, and special closure dates explicitly.
- Do not rely on the result for legal, payroll, tax, filing, finance, or safety-critical deadlines without checking the controlling rule text.
- Remember that time-of-day cutoffs, half-days, and after-hours submissions are not modeled by a date-only business-day count.
Worked Examples:
Counting a short project window. With Count range, start date 2026-05-04, end date 2026-05-15, Saturday/Sunday weekends, both endpoints included, and 2026-05-11 Company holiday in Holiday dates, the Business day count is 9. Business Dates should list weekdays from May 4 through May 15 except the weekend dates and the Monday holiday.
Finding a delivery due date. With Add days, start date 2026-05-22, Business days set to 5, Saturday/Sunday weekends, and 2026-05-25 Memorial Day entered as a holiday, the counted dates are May 26, May 27, May 28, May 29, and June 1. The Final date is 2026-06-01.
Backing up from an observed holiday. With Subtract days, start date 2026-07-06, Business days set to 1, Saturday/Sunday weekends, and 2026-07-03 Independence Day observed in the holiday list, the Final date is 2026-07-02. If July 3 is missing from Excluded Dates, the holiday list is incomplete for that calendar.
Fixing a suspicious holiday count. If a warning says a holiday line could not be read, compare Unread holiday lines in Rule Brief with the pasted list. Rewrite the line with a recognizable date token, such as 2026-12-24 Company shutdown, then recheck Excluded Dates.
FAQ:
Does it add public holidays automatically?
No. Holidays are excluded only when they appear in Holiday dates. This keeps the calendar explicit for regional, company, market, court, and contract-specific rules.
Should the start date count?
Turn on Include start date when the first date itself can be used as a business day. Turn it off when counting begins after the event, notice, order, or anchor date.
Can Saturday count as a business day?
Yes, if the selected Weekend pattern does not exclude Saturday. Check the governing calendar first, because legal, banking, market, and workplace calendars may treat Saturday differently.
Why is my range count negative?
The Start date is after the End date in Count range. Reverse the dates unless you intentionally need a backward span for comparison.
What happens to decimal or negative business-day amounts?
Decimal amounts are truncated to whole days, and negative amounts are treated as zero. Use Add days or Subtract days for direction instead of entering a negative number.
Do observed holidays need separate entries?
Yes. If the actual non-working date differs from the statutory holiday date, enter the observed closure as its own line in Holiday dates.
Glossary:
- Business day
- A calendar date that passes the selected weekend rule and is not listed as a holiday.
- Calendar day
- Any date on the calendar, including weekends and holidays unless another rule excludes them.
- Endpoint rule
- The choice that decides whether the first and last dates in a range can count.
- Weekend pattern
- The recurring weekdays that are treated as non-working days before holiday exclusions are applied.
- Observed holiday
- A substitute closure date used when the actual holiday falls on another non-working day.
- Banking day
- A business day on which a bank office or payment system is open for the relevant functions.
- Skipped date
- A date excluded from the count because it is a weekend date, a holiday date, or both.
References:
- 5 U.S.C. 6103: Holidays, Office of the Law Revision Counsel.
- Federal Holidays, U.S. Office of Personnel Management, 2026 holiday schedule.
- Holidays Work Schedules and Pay, U.S. Office of Personnel Management.
- Holidays Observed by the Federal Reserve System 2026-2030, Board of Governors of the Federal Reserve System, last updated February 26, 2026.
- 12 CFR 229.2: Definitions, Electronic Code of Federal Regulations.