Europe/London
Europe/London covers London, Birmingham, Glasgow and the rest of the United Kingdom, at +00:00 standard time, switching to +01:00 in summer.
Worked examples
- A winter instant in Europe/London
Europe/London's UTC offset and DST status on a January date, converted to UTC.
- A summer instant in Europe/London
Europe/London's UTC offset and DST status on a July date, converted to UTC — compare against the winter example to see any DST shift.
- Converting Europe/London to America/New_York
A worked conversion from Europe/London to America/New_York for a specific instant.
TZ identifier and aliases
Europe/London is the canonical identifier for UK time. GB and
GB-Eire are older names still pointing at the same rules but are
deprecated aliases — use Europe/London in new code. The Channel Islands
and Isle of Man links (Europe/Guernsey, Europe/Jersey,
Europe/Isle_of_Man) currently share identical rules and are folded into
the same entry, despite being separate Crown Dependencies with their own
legislatures.
UTC offset and DST rule
Europe/London is +00:00 (GMT) on standard time and +01:00 (BST —
British Summer Time) during daylight saving. The EU-harmonized rule applies
here even post-Brexit: DST starts the last Sunday in March and ends the
last Sunday in October, at 1am UTC both times — March 29 and October 25 in
2026.
Using it in cron, CI and Postgres
Set TZ=Europe/London for a process that should schedule by UK local time
rather than UTC — the two are identical for roughly five months of the
year and one hour apart for the rest, a distinction that's easy to miss if
a system was built assuming London time is always UTC. Postgres accepts it
via SET TIME ZONE 'Europe/London'; or the timezone setting, applying
the DST rule correctly for any date. Where a scheduler supports a
CRON_TZ=Europe/London line, jobs run by local time directly; GitHub
Actions' schedule: trigger always evaluates in UTC with no per-job
timezone, so a job meant to fire at a fixed London hour needs its UTC
equivalent updated by hand across each DST boundary. Avoid the 1:00–2:00am
local window for anything that must run exactly once — it's skipped on the
March transition and repeated on the October one.
History and quirks
Greenwich Mean Time has been the UK's reference standard since the Royal
Observatory's meridian was adopted internationally in 1884, and it remains
the zero-offset baseline that every other UTC offset in the world is
defined relative to. British Summer Time itself has a stranger history than
most: from 1968 to 1971, the UK experimented with keeping BST (+01:00)
year-round rather than switching back to GMT each winter, an experiment
ended after studies found it made little measurable difference and darker
winter mornings proved unpopular, especially in Scotland's higher
latitudes. That north-south daylight disparity is why "double summer time"
and permanent-BST proposals resurface periodically in UK politics without
ever sticking. Because Europe/London's DST dates match the EU's own
harmonized rule, Brexit hasn't actually changed anything about how or when
UK clocks move — the two happen to stay synchronized by coincidence rather
than treaty obligation.
Offsets and DST transitions on this page are computed from the IANA time zone database bundled with your browser; the rules described above were verified against tzdata 2026b when this page was published.
Frequently asked questions
- Does Europe/London observe DST?
- Yes. In the current rule it begins the last Sunday in March and ends the last Sunday in October.
- What is the UTC offset of Europe/London in winter/summer?
- Europe/London is +00:00 on standard time and +01:00 during daylight saving time.
- Which cities use Europe/London?
- London, Birmingham, Glasgow, Manchester all use the Europe/London zone — also commonly known as Greenwich Mean Time — along with the rest of the United Kingdom.
- What is the deprecated alias for this zone?
- GB is a deprecated backward-compatibility name for this zone. Use the canonical identifier Europe/London in code, cron jobs, `TZ` environment variables and config files instead.