Batch Hour Zero: A UK Test Calendar for Clock-Change Operations
Photo: Jörg Zägel, CC BY-SA 3.0, via Wikimedia Commons
Most UK digital operations teams plan for the clock change in the same way they plan for a bank holiday: a note in the runbook and a hope that the overnight schedule behaves. That is no longer sufficient. Payroll, billing, scheduling, reporting and interfaces increasingly depend on precise time handling, and the two clock-change weekends expose assumptions that remain hidden for the rest of the year.
The two weekends that test the estate
In 2026 the UK moved to British Summer Time on Sunday 29 March and returned to Greenwich Mean Time on Sunday 25 October. In spring, local times between 01:00 and 02:00 do not exist. In autumn, they occur twice. Systems that store timestamps in local time, schedule jobs in local time or compare local cut-offs can duplicate, skip or misorder work.
The risk is not limited to the obvious overnight batch. It extends to file transfers, database jobs, alert thresholds, payroll cut-offs, billing periods, rostering systems and reporting snapshots. A job that runs at 01:30 every Sunday is not a stable specification. It is a local-time instruction that means different instants in March and October.
Common failure patterns
One pattern is the duplicated batch. A scheduler fires a job twice in autumn because the same local hour appears twice, or an upstream system sends the same file again because its own clock handling repeats a window. The result can be duplicate invoices, duplicate payments or duplicate case records.
Another pattern is the skipped job. In spring, a job scheduled for 01:30 may never run because that local time does not exist. If the scheduler silently shifts the job, it may run at an unexpected time and collide with another process. If it does not shift the job, the failure may only be noticed when a downstream report is empty.
A third pattern is mixed time bases. One system records UTC, another records local time, and a third records local time without an offset. Reconciliation then compares instants that look similar but are not. A fourth pattern is alerting that assumes a stable offset. Completion alerts may fire late in autumn or early in spring, and duplicate alerts may obscure the real failure.
Timestamps are not a formatting issue
The test is not whether a report displays the right hour. The test is whether the system can identify the same instant twice. Teams should distinguish between an instant in time and a local civil time. Storing UTC with a source offset is usually safer than storing a local timestamp without context, but the choice must be consistent across the estate.
Vendor systems deserve particular scrutiny. A packaged application may use the operating system time zone, its own internal time zone or the database time zone. Those settings can diverge after an upgrade. The runbook should record the expected behaviour for each critical job and interface, not just the name of the person to call when it fails.
Alerting and runbooks under a shifting offset
Monitoring should be tested against the clock change, not only against normal weekends. Completion alerts, file-arrival checks and service-level timers should state whether they operate in UTC or local time. Runbooks should include expected job counts, acceptable duplicate evidence, reconciliation steps and escalation routes. A command centre or on-call rota should know which jobs are expected to run twice and which are expected not to run at all.
Change freezes matter here. A clock-change weekend is a poor time to deploy a new scheduler rule or an untested interface change. Where a freeze is not possible, the change should be assessed specifically for time-zone impact.
A pre-change test calendar
Eight weeks before the change, inventory every job and interface that runs between 00:00 and 03:00 local time, plus any payroll, billing or reporting cut-off that crosses the weekend. Six weeks before, classify how each item handles time zones and identify vendor-owned black boxes. Four weeks before, test in a non-production environment with simulated clock changes, including the nonexistent spring hour and the duplicated autumn hour. Two weeks before, freeze changes, confirm vendor contacts and issue the operational plan. On the weekend, monitor job counts, file arrivals and reconciliation totals. After the weekend, reconcile records and record any deviations for the next cycle.
The calendar should include specific test cases: a job scheduled at 01:30 in spring, the same job in autumn, a UTC-only job, a local-time job, a report that groups by local date, a payroll cut-off and a billing run. Expected outcomes should be written down before the weekend so that operators can distinguish a design decision from a failure.
The clock change is a predictable event. It should be treated as a scheduled integration test, not as an act of nature.