Europe/Zurich

Europe/Zurich covers Zürich, Genève, Basel and the rest of Switzerland, at +01:00 standard time, switching to +02:00 in summer.

Loading tool…

Worked examples

  • A winter instant in Europe/Zurich

    Europe/Zurich's UTC offset and DST status on a January date, converted to UTC.

  • A summer instant in Europe/Zurich

    Europe/Zurich'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/Zurich to America/New_York

    A worked conversion from Europe/Zurich to America/New_York for a specific instant.

TZ identifier and aliases

Europe/Zurich is the canonical identifier for Swiss civil time. Europe/Vaduz, covering Liechtenstein, and Europe/Busingen, a small German exclave surrounded entirely by Swiss territory, currently share identical rules and are folded into the same entry. Europe/Zurich has no deprecated backward-compatibility alias of its own.

UTC offset and DST rule

Europe/Zurich is +01:00 (CET) on standard time and +02:00 (CEST) during daylight saving, following the EU-harmonized rule despite Switzerland never having joined the EU: the last Sunday in March through the last Sunday in October, both at 1am UTC — March 29 and October 25 in 2026.

Using it in cron, CI and Postgres

Set TZ=Europe/Zurich for a process that should schedule by Swiss local time. Postgres accepts it via SET TIME ZONE 'Europe/Zurich'; or the timezone setting, applying the DST rule correctly for any date. Where a scheduler supports a CRON_TZ=Europe/Zurich 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 Zurich hour needs its UTC equivalent recalculated across each DST boundary. Avoid the 2:00–3: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

Switzerland is a useful reminder that EU DST harmonization isn't actually an EU-membership requirement — Switzerland has never joined the EU, yet it voluntarily aligned its clock-change dates with the bloc's rule after a 1980s domestic referendum, precisely because staying out of sync with its much larger neighbors (Germany, France, Italy, Austria) would have created constant friction for cross-border commuters, freight schedules and financial markets. Europe/Busingen, a tiny German town of a few hundred people completely surrounded by Swiss territory since a 19th-century border settlement, follows Zurich's clock rather than Berlin's for exactly the same practical reason — being an island inside another country's time zone would be far more disruptive than matching the country actually surrounding it. Liechtenstein, similarly landlocked and economically integrated with Switzerland, has followed the Swiss clock without interruption since long before EU harmonization existed.

Switzerland's relationship with EU rules generally — adopting many voluntarily through bilateral agreements while remaining formally outside the bloc — is well illustrated by its time zone policy specifically: there was no treaty obligation forcing the 1980s alignment, only the practical recognition that Zurich's banking, rail and logistics sectors depend on predictable synchronization with Frankfurt, Paris and Milan. Europe/Busingen remains one of the more visually striking curiosities in the tz database's grouping data: a piece of Germany, subject to German law in most other respects, whose clocks nonetheless run on Europe/Zurich rather than Europe/Berlin — a detail easy to miss unless a system happens to need Busingen specifically.

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/Zurich 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/Zurich in winter/summer?
Europe/Zurich is +01:00 on standard time and +02:00 during daylight saving time.
Which cities use Europe/Zurich?
Zürich, Genève, Basel, Lausanne all use the Europe/Zurich zone — also commonly known as Central European Time — along with the rest of Switzerland.
What is the deprecated alias for this zone?
Europe/Zurich has no widely-used deprecated alias, though Europe/Busingen is a separate IANA identifier that currently shares identical rules.