Europe/Madrid

Europe/Madrid covers Madrid, Barcelona, Valencia and the rest of Spain, at +01:00 standard time, switching to +02:00 in summer.

Loading tool…

Worked examples

  • A winter instant in Europe/Madrid

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

  • A summer instant in Europe/Madrid

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

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

TZ identifier and aliases

Europe/Madrid is the canonical identifier for mainland Spanish time. Africa/Ceuta, covering Spain's North African exclave, currently shares identical rules and is folded into the same entry — notably, this puts Ceuta on Central European Time even though geographically it sits on the African mainland alongside Morocco, which itself keeps a different offset. Europe/Madrid has no deprecated backward-compatibility alias.

UTC offset and DST rule

Europe/Madrid is +01:00 (CET) on standard time and +02:00 (CEST) during daylight saving, following the EU-harmonized rule: 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/Madrid for a process that should schedule by Spanish local time. Postgres accepts it via SET TIME ZONE 'Europe/Madrid'; or the timezone setting, applying the DST rule correctly for any date. Where a scheduler supports a CRON_TZ=Europe/Madrid 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 Madrid 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

Spain is the standout geographic anomaly on this list: it sits almost directly south of the UK and west of France on the map, which by solar longitude should put it on the same clock as London, not Berlin. The mismatch traces back to 1940, when General Franco's government switched Spain to Central European Time in alignment with Nazi Germany and Fascist Italy — a wartime political decision that outlived the war and the regime that made it, and that Spain has never reversed despite decades of periodic public debate about restoring solar-aligned time. The practical effect is a country where the sun rises and sets roughly an hour later, clock-wise, than it "should," contributing to Spain's noticeably late mealtimes and evening schedule relative to the rest of Western Europe — often cited as a cultural artifact of a time zone decision made for entirely unrelated political reasons eight decades ago. Europe/Madrid's DST dates match the rest of the EU exactly, since Spain adopted the bloc's harmonized rule alongside its neighbors.

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/Madrid 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/Madrid in winter/summer?
Europe/Madrid is +01:00 on standard time and +02:00 during daylight saving time.
Which cities use Europe/Madrid?
Madrid, Barcelona, Valencia, Zaragoza all use the Europe/Madrid zone — also commonly known as Central European Time — along with the rest of Spain.
What is the deprecated alias for this zone?
Europe/Madrid has no widely-used deprecated alias, though Africa/Ceuta is a separate IANA identifier that currently shares identical rules.