Working Days / SLA Calculator
Working-day counts and SLA deadlines over a calendar you control — weekend sets, paste-in holiday lists, counting conventions stated — entirely on this device.
Counting from 2026-08-03 to 2026-08-31.
Convention: start date not counted · end date counted.
- Skipped weekend days
- 8
- Skipped holidays
- 0
- Calendar days = working days + weekend days + holidays.
Press ? for shortcuts
Do it offline:$ dateadd 2026-08-07 +10b
How to use it
- Pick the mode: Between counts working days from date to date; Add working days steps to a deadline.
- Type or pick the dates — or a start date and a working-day count, signed Add or Subtract.
- Tick weekend days (Sat + Sun preset) and paste holidays one per line; the summary classifies each.
- Read the count or deadline with its skipped-day breakdown; copy, share, or save the summary.
Count working days between two dates, or add working days to a start date and read the SLA deadline. The convention is stated up front: the start day is not counted by default, the end day is, toggles flip either. Weekend days are checkboxes, holidays are a pasted list, and every date stays on this device.
How it works
Dates map to serial day numbers via Howard Hinnant's civil-calendar algorithms; every date here is a civil calendar date, no clock or time zone attached. Between two dates, non-weekend weekdays are counted closed-form and pasted holidays landing on a working weekday are subtracted. The card prints the identity the math obeys — on the sample, 28 calendar days = 20 working + 8 weekend + 0 holidays.
The default counts the end date and never the start — day zero. That is the T+n rule service agreements use: ten working days from Friday 2026-08-07 lands on 2026-08-21, and counting between those dates under the defaults reads exactly 10 — the modes agree by construction.
No national holiday data is built in: floating holidays move yearly and observed dates vary by employer, so you paste the dates you observe. Working days are jurisdiction-defined — EU Regulation 1182/71, one codified example, excludes public holidays, Saturdays and Sundays. The CLI equivalent, dateadd 2026-08-07 +10b, assumes a Monday–Friday week and no holidays at all.
Examples
2026-08-03 → 2026-08-3120 working days · 28 calendar daysThe pre-filled sample: Monday 2026-08-03 to Monday 2026-08-31 holds 8 weekend days, so the identity reads 28 = 20 + 8 + 0. Count the start date lifts that to 21 working of 29 calendar days.
2026-08-07 + 10 working days2026-08-21 (Friday)Ten working days from a Friday is two calendar weeks: 4 weekend days stepped over, 14 calendar days passed — the date dateadd 2026-08-07 +10b prints. Between start and deadline, defaults read back exactly 10.
2026-12-21 → 2026-12-317 working days · 10 calendar days2026-12-25, the span's Friday holiday, is subtracted; 2026-12-26 is a Saturday, so the card chips “1 holiday falls on a weekend day — weekend days are already skipped, so it is not subtracted again.” The breakdown stays honest: 10 = 7 + 2 + 1.
2026-08-06 + 3 working days (Fri + Sat weekend)2026-08-11 (Tuesday)Under a Friday + Saturday weekend, Thursday 2026-08-06 steps over two weekend days, works Sunday through Tuesday, and lands on 2026-08-11 — 5 calendar days spanned for 3 working days.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
Weekends skip in both directions
One working day past Friday 2026-08-07 is Monday 2026-08-10; one back from that Monday is the Friday again — Subtract mirrors Add. For plain calendar-day spans with no weekend rule, use the Date Difference Calculator.
A non-working start is day zero, honestly
Adding one working day to Saturday 2026-08-08 reaches Monday 2026-08-10, with the chip “Start date 2026-08-08 falls on a weekend day — as day zero it is never counted.”
Weekend-day holidays never subtract twice
List only 2026-12-26 — a Saturday — against the December span and the count stays 8: the date files under on-weekend, already skipped.
Duplicate holiday lines count once
Paste 2026-12-25 twice and 25 Dec 2026 once: the list dedupes to one holiday with the chip “2 duplicate holiday lines ignored — each date counts once.” Deduping is by date, not spelling.
Ambiguous dates refuse, in fields and holiday lines alike
A digit-only day/month string is never guessed: "03/04/2026" could be 3 April or 4 March — type the month name (4 Mar 2026) or use YYYY-MM-DD. On a holiday line the same refusal carries its line number.
Common errors
"03/04/2026" could be 3 April or 4 March — type the month name (4 Mar 2026) or use YYYY-MM-DD.- The same string is 3 April in Berlin and 4 March in Boston; both unambiguous spellings are shown instead of a guess.
Holiday list has 1,001 dates — above the 1,000-entry limit for this tool.- Above 1,000 non-blank lines the list refuses before parsing — trim the paste to the years your spans touch.
All seven weekdays are marked as weekend — a working-day deadline needs at least one working weekday.- A deadline can never advance when every day is weekend, so this mode refuses up front; Between reports 0 working days with a chip.
FAQ
What counts as a working day here?
Any day in neither your weekend set nor your holiday list. The weekend defaults to Saturday and Sunday; holidays are only the dates you paste — no country calendars ship, since observed dates shift yearly. A date on both lists counts once, as weekend.
How do I compute a T+10 working-day SLA deadline?
Switch to Add working days, set the start date — T, day zero, never counted — and enter 10. From Friday 2026-08-07 the card reads 2026-08-21 — four weekend days stepped over. Paste holidays first if any fall in the window.
Can I use a Friday–Saturday or six-day working week?
Yes — the weekend is seven checkboxes with presets for Saturday + Sunday, Friday + Saturday and Sunday only. Sunday only gives the six-day week; an empty set makes all seven days count. The fourth example runs a Friday + Saturday week: three working days from Thursday 2026-08-06 land on Tuesday 2026-08-11.
Keyboard shortcuts
- ⌘/Ctrl + Enter
- Recompute by hand; the card already tracks each valid edit.
- ⌘/Ctrl + C
- Copy the summary while no text is selected — focused fields keep native copy.
- ⌘/Ctrl + Shift + C
- Force the summary copy over an active selection.
- ⌘/Ctrl + S
- Download the summary as a timestamped business-days-calculator .txt, not the browser save dialog.
- t
- Toggle the theme (idle while a field is focused).
- ? or ⌘/Ctrl + /
- Open the shortcut sheet for this calculator.
- Esc
- Dismiss the topmost dialog; drafts stay put.