UTC is not GMT, and in summer the difference bites
For seven months a year the UK is not on GMT at all. Teams that treat the two as interchangeable end up with incident timelines an hour out.
The confusion in one sentence
UTC is a global reference that never changes. GMT is both a historical standard and the UK's winter time zone — and from late March to late October the UK is on British Summer Time, UTC+1.
Where it causes real problems
Incident timelines. A server logs in UTC. An engineer in London reads their watch. In July those two differ by an hour, and a post-mortem assembled from both sources produces a sequence of events that never happened.
The same applies to scheduled jobs. A cron entry set to run at "9am GMT" on a machine configured for Europe/London runs at 9am BST in summer — an hour earlier in absolute terms than the person who wrote it expected.
The rules that avoid it
- Log in UTC. Every server, every service, no exceptions.
- Label it explicitly. A timestamp without a zone is a guess.
- Use ISO 8601.
2026-07-29T09:30:00Zcannot be misread. - Set server zones to UTC. Not to the office's local zone.
- Convert only at display. Once, at the edge, for the reader.
What about "GMT" in email?
If you mean the reference clock, write UTC. If you mean UK local time, write "UK time" and let the reader work it out from the date — that is what they will do anyway.
A worked incident timeline
A payment service degrades on a July afternoon. Three sources describe it:
| Source | Reported time | Actual UTC |
|---|---|---|
| Application logs (UTC) | 13:42 | 13:42 |
| Engineer in London (watch) | 14:42 | 13:42 |
| Engineer in New York (watch) | 09:42 | 13:42 |
Three numbers, one instant. A post-mortem that pastes them into a single column without normalising produces a sequence in which the alert appears to arrive an hour before the failure.
The rules, in order of impact
- Set every server to UTC. Including the ones nobody remembers owning.
- Log in ISO 8601 with the Z suffix.
2026-07-29T13:42:07Z. - Normalise before you correlate. Convert every source to UTC as the first step of any timeline.
- Display local only at the edge. Dashboards can show local time; the underlying record should not.
Where teams still get caught
- Screenshots. They carry the viewer's clock, not the system's.
- Spreadsheet exports. Some tools convert on export, others do not, and neither says so.
- Chat messages. Rendered in the reader's zone, quoted later as though absolute.
- Cron on a local-zone host. Runs an hour early or late for half the year.
The label habit
Write the zone next to every timestamp you paste into a document, even when you are certain everyone shares it. The certainty is what fails, not the arithmetic.
Filed under Technical · Tags: utc, gmt, bst, logging. Figures verified against the official definitions — see our editorial policy.