# 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.

- Calculator id: `uk-working-days-between` · Category: Everyday Life (`everyday`) · Tool name: `count_uk_working_days`
- Canonical page: https://tttkmbb.com/everyday/uk-working-days-between · This document: https://tttkmbb.com/everyday/uk-working-days-between.md · JSON definition: https://tttkmbb.com/everyday/uk-working-days-between.json

## Purpose

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.

**Use when:** 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?


## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `start_date` | date |  | required | First range endpoint in YYYY-MM-DD format, within 2024-2028. |
| `end_date` | date |  | required | Second range endpoint in YYYY-MM-DD format, within 2024-2028. |
| `include_start_date` | boolean |  | optional, default true | Whether the normalized earlier endpoint participates in the count. |
| `include_end_date` | boolean |  | optional, default true | Whether the normalized later endpoint participates in the count. |
| `division` | enum: england-and-wales \| scotland \| northern-ireland |  | optional, default "england-and-wales" | GOV.UK bank-holiday division. England and Wales share one official list; Scotland and Northern Ireland have separate lists. |

## Output

| Field | 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. |

## 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.

## Data Sources

- GOV.UK Bank Holidays API — https://www.gov.uk/bank-holidays.json (government, retrieved 2026-09-26)
- Open Government Licence v3.0 — https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/ (licence, retrieved 2026-09-26)

Data freshness: `static`. Pinned GOV.UK snapshot for 2024-2028; no extrapolation beyond coverage.

## API

- `GET https://tttkmbb.com/api/v1/calculate/uk-working-days-between?start_date=…&end_date=…`
- `POST https://tttkmbb.com/api/v1/calculate/uk-working-days-between` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/uk-working-days-between · OpenAPI operationId `count_uk_working_days` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool: `count_uk_working_days` (dedicated) or `run_calculator` with `{"calculator_id": "uk-working-days-between", "inputs": {…}}`

## Example

- England and Wales Christmas-to-New-Year range: inputs `{"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: inputs `{"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
```

## Limitations

You need only elapsed calendar days, a local/employer/market calendar, another jurisdiction or dates outside 2024-2028. 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. All values are computed from the formula above; no measurement or live data is involved.

## 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

- [UK Working Day Checker](https://tttkmbb.com/everyday/uk-working-day.md) — Inspect one date and its official source.
- [Add UK Working Days](https://tttkmbb.com/everyday/uk-add-working-days.md) — Find a deadline after a working-day offset.
- [Mainland China Working Days Between Dates](https://tttkmbb.com/everyday/china-working-days-between.md) — Use the mainland China official calendar including 调休.
