Home › Everyday Life › UK Working Days Between Dates
UK Working Days Between Dates
Counts working and non-working dates in England and Wales, Scotland or Northern Ireland using the official GOV.UK bank-holiday list instead of a weekday-only approximation.
When to use
You need a 2024-2028 UK SLA, payroll, project or delivery-day count and the selected division's bank holidays must be excluded.
Do not use when: You need only elapsed calendar days, a local/employer/market calendar, another jurisdiction or dates outside 2024-2028.
Example user requests
- How many England and Wales working days are there from 24 December 2026 through 4 January 2027?
- Count Northern Ireland business days from 10 to 14 July 2026 inclusive.
- How many Scottish working days fall between 1 and 20 June 2026?
Formula
for each included date: working_days += is_working_day(date); non_working_days += not is_working_day(date)
Endpoints are included by default. If the second date is earlier, endpoints are swapped before inclusion rules are applied. Bank-holiday events override the ordinary weekday rule.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
start_date | date | yes | First range endpoint in YYYY-MM-DD format, within 2024-2028. | |
end_date | date | yes | Second range endpoint in YYYY-MM-DD format, within 2024-2028. | |
include_start_date | boolean | default true | Whether the normalized earlier endpoint participates in the count. | |
include_end_date | boolean | default true | Whether the normalized later endpoint participates in the count. | |
division | enum: england-and-wales | scotland | northern-ireland | default england-and-wales | GOV.UK bank-holiday division. England and Wales share one official list; Scotland and Northern Ireland have separate lists. |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
division | string | Canonical GOV.UK division id. | |
division_name | string | Human-readable UK division. | |
normalized_start_date | date | Earlier endpoint after normalization. | |
normalized_end_date | date | Later endpoint after normalization. | |
working_days | integer | working days | Monday-Friday dates not listed as a bank holiday. |
non_working_days | integer | days | Weekend and bank-holiday dates in the selected range. |
calendar_days_counted | integer | days | Total dates included after endpoint rules. |
bank_holidays_counted | list | Official bank-holiday events in the selected range. | |
dataset_version | string | Pinned Calcgrid snapshot version of the GOV.UK bank-holiday package. | |
coverage_start | date | First supported date in this pinned package. | |
coverage_end | date | Last supported date in this pinned package. | |
source_snapshot_sha256 | string | SHA-256 of the complete official GOV.UK JSON response used for this package. |
Example
England and Wales Christmas-to-New-Year range: {"start_date":"2026-12-24","end_date":"2027-01-04","include_start_date":true,"include_end_date":true,"division":"england-and-wales"} → {"working_days":5,"non_working_days":7,"calendar_days_counted":12}
Northern Ireland Battle of the Boyne substitute: {"start_date":"2026-07-10","end_date":"2026-07-14","include_start_date":true,"include_end_date":true,"division":"northern-ireland"} → {"working_days":2,"non_working_days":3,"calendar_days_counted":5,"bank_holidays_counted":[{"date":"2026-07-13","title":"Battle of the Boyne (Orangemen’s Day)","notes":"Substitute day"}]}
GET https://tttkmbb.com/api/v1/calculate/uk-working-days-between?start_date=2026-12-24&end_date=2027-01-04&include_start_date=true&include_end_date=true&division=england-and-wales
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/uk-working-days-between(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/uk-working-days-between · Markdown: https://tttkmbb.com/everyday/uk-working-days-between.md · JSON definition: https://tttkmbb.com/everyday/uk-working-days-between.json
- MCP: server
https://tttkmbb.com/mcp, toolcount_uk_working_days - OpenAPI operationId:
count_uk_working_days - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- GOV.UK Bank Holidays API (government)
- Open Government Licence v3.0 (licence)
FAQ
Are both endpoints included?
Yes by default. Set either inclusion input to false if a contract excludes that endpoint.
Does a substitute day count as a bank holiday?
Yes. The official feed supplies the observed date and labels it as a substitute day.
Related calculators
- UK Working Day Checker — Inspect one date and its official source.
- Add UK Working Days — Find a deadline after a working-day offset.
- Mainland China Working Days Between Dates — Use the mainland China official calendar including 调休.