Working Days Calculator, Explained

After reading this you can count the exact number of business days between two dates, add a run of working days to a start date, and adjust both correctly for your own weekends and holidays.

A working days calculator answers two related questions. The first is a count: how many business days lie between a start date and an end date. The second is a shift: what date do you reach after adding a fixed number of business days to a start date. Both questions skip weekends and any holidays you supply.

Here is the hook. A project starts on Monday, 6 January 2025 and the plan allows 10 working days. A naive answer adds 10 calendar days and lands on Thursday, 16 January. The correct answer skips the two weekends inside that stretch and lands on Friday, 17 January. Two extra days appear from nowhere unless you count business days directly.

What the tool counts, and what it does not

The counting mode reports how many working days fall in a date range. The result is a whole number: you cannot have half a working day here. What varies is whether the two endpoints themselves are counted.

This tool counts the days strictly between the two dates in a half-open way: it includes the start date and excludes the end date, or the reverse, depending on the convention you choose. Payroll and SLA calculations often want the start day counted and the finish day counted too, which is one day more. Always know which convention you are using before you trust a number.

Working day
A calendar day that is neither a weekend day (as you define weekends) nor a listed holiday.
Weekend day
Any weekday you mark as non-working. The default is Saturday and Sunday, but some calendars use Friday and Saturday.
Holiday
A specific date you supply that is treated as non-working even if it lands on a weekday.

When to use it, and when not to

Use business day counting when the answer depends on office availability: contract deadlines, shipping estimates, notice periods, invoice due dates, and staffing plans. A "net 30 business days" invoice term is meaningless if you count calendar days.

Do not use it when the underlying process runs every day. Interest accrual, medical dosing intervals, and age in days all run on calendar time. For those, count raw days with the Date Difference Calculator instead. For exact age in years and months, use the Age Calculator.

A common error is mixing conventions inside one contract. If one clause says "within 5 business days" and another says "within 5 days", they mean different things. Five business days starting Thursday reaches the following Thursday; five calendar days reaches Tuesday. That is a two-day gap that can decide a dispute.

The formula and the intuition behind it

Counting business days in a range does not require checking every day one by one, though that is the safest method for small ranges. For a range with no holidays, the arithmetic is quick. Let D be the total number of calendar days in the half-open interval, and let each week contribute a fixed number of working days.

W = D - w_{\text{full}} \cdot n_w - r

Here W is the working day count, w_{\text{full}} is the number of weekend days per week (2 in the common case), n_w is the number of whole weeks in the interval, and r is the number of weekend days in the leftover partial week. You then subtract any holidays that land on a working day.

The intuition is simpler than the symbols. Every full 7-day week removes exactly the same fixed count of weekend days, so most of the work is a multiplication. Only the ragged ends of the interval need day-by-day inspection. This tool inspects every day, which is slower but immune to off-by-one slips at the edges.

Holidays that fall on a weekend are already non-working, so they are not subtracted twice. The tool skips them like any other weekend day. A holiday only reduces the count when it lands on a day that would otherwise count as working.

A worked example using the demo data

Ten working days from 6 January 2025

Take a start date of Monday, 6 January 2025, weekends of Saturday and Sunday, and no holidays. Add 10 working days.

  1. Start on Monday 6 January. This is day 0, not yet a working day added.
  2. Count forward, skipping weekends. Tue 7, Wed 8, Thu 9, Fri 10 give 4 working days.
  3. Skip Sat 11 and Sun 12. They add nothing.
  4. Mon 13, Tue 14, Wed 15, Thu 16, Fri 17 give another 5 working days, for 9 so far.
  5. Skip Sat 18 and Sun 19.
  6. Mon 20 is the 10th working day added. The result is Monday, 20 January 2025.

Notice that 10 working days spanned 14 calendar days, because two full weekends (4 days) sat inside the run. The calendar distance grows whenever a weekend falls in the interval.

The same date pair read as a count works in reverse. From Monday 6 January up to but not including Monday 20 January, the interval holds 14 calendar days. Two full weeks contribute 4 weekend days, so 14 - 4 = 10 working days, matching the step count above.

The 10 working days plus 4 skipped weekend days sum to the 14 calendar days spanned.

Watch how weekends and holidays reshape the count

With a 2-day weekend, a run of 10 working days starting on a Monday spans 14 calendar days. Adding one mid-run holiday pushes the finish one calendar day later, to a 15-day span. Switching to a 1-day weekend shrinks the span: 10 working days then cover only 11 or 12 calendar days.

Reading and interpreting the result

Two numbers deserve attention when you read a working days result. The first is the count itself. The second is the implied calendar span, which the shift mode gives you as a finish date. Compare the two to sanity-check the work.

A useful ratio is working days to calendar days. With a standard 2-day weekend and no holidays, roughly 5/7 \approx 0.714 of calendar days are working days over the long run. So a 100 calendar day stretch holds about 71 or 72 working days, drifting by a day or two depending on which weekday the stretch begins. If your result strays far from that ratio, you probably have a weekend or holiday setting wrong.

Approximate working days per calendar span, 2-day weekend, no holidays
Calendar daysWorking days (low)Working days (high)
755
141010
302023
1007073
365260262

The low and high columns differ because a partial week can start on any weekday. Thirty days beginning on a Saturday captures fewer working days than thirty days beginning on a Monday.

Common mistakes

The endpoint convention causes the most confusion. Counting both endpoints gives one more than counting one endpoint, and both are correct for different purposes. Decide first, then read the result.

Holiday list format is the next trap. If a listed holiday does not match the date format the tool expects, it is silently ignored and your count runs one day high. After pasting a list, confirm the count dropped by the number of holidays you expect that actually fall on working days.

The last trap is the wrong weekend. In much of the Gulf region the weekend is Friday and Saturday, not Saturday and Sunday. A run planned with the wrong weekend can be off by one working day per week, which compounds fast: over eight weeks that is eight working days of error.

Related tools

For plain calendar-day arithmetic without weekend skipping, use the Date Difference Calculator. To find where a date sits in the year, the Week Number Lookup gives the ISO week number and day-of-year, which pairs well with weekly reporting cycles.

Frequently asked questions

Does the calculator count the start and end date?

It uses a half-open interval by default: one endpoint is counted, the other is not. If you need both endpoints counted, add one working day to the result. Check the convention against a short known range, such as Monday to the following Monday, which should give 5 working days when only one endpoint counts.

What happens if a holiday falls on a Saturday?

Nothing changes. That Saturday is already a weekend day and already non-working, so the holiday is not subtracted again. Holidays only reduce the count when they land on a day that would otherwise be a working day.

Can I set a weekend that is not Saturday and Sunday?

Yes. Mark whichever weekdays are non-working for your calendar. A Friday and Saturday weekend, or a single Sunday weekend, both change the count. With a 1-day weekend, roughly 6/7 \approx 0.857 of calendar days are working days.

Is my holiday list sent anywhere?

No. Everything runs locally in your browser, and nothing you enter leaves your device.

Why does adding 10 working days move me 14 calendar days forward?

Because two full weekends of 2 days each sit inside a 10 working day run that starts on a Monday. Those 4 weekend days add to the calendar span without adding working days, so 10 working days occupy 14 calendar days.