Europe/Lisbon
Europe/Lisbon covers Lisbon, Porto, Amadora and the rest of Portugal, at +00:00 standard time, switching to +01:00 in summer.
Worked examples
- A winter instant in Europe/Lisbon
Europe/Lisbon's UTC offset and DST status on a January date, converted to UTC.
- A summer instant in Europe/Lisbon
Europe/Lisbon'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/Lisbon to America/New_York
A worked conversion from Europe/Lisbon to America/New_York for a specific instant.
TZ identifier and aliases
Europe/Lisbon is the canonical identifier for mainland Portuguese time.
The bare country name Portugal and the abbreviation WET (Western
European Time) are older names still pointing at the same rules but are
deprecated aliases — use Europe/Lisbon in new code. Atlantic/Madeira
currently shares identical rules and is folded into the same entry; the
Azores, notably, keep their own separate zone one hour further west.
UTC offset and DST rule
Europe/Lisbon is +00:00 (WET) on standard time and +01:00 (WEST)
during daylight saving, following the EU-harmonized clock-change dates —
the last Sunday in March through the last Sunday in October, both at 1am
UTC — even though its base offset is the same as the UK's rather than the
rest of continental Europe's.
Using it in cron, CI and Postgres
Set TZ=Europe/Lisbon for a process that should schedule by Portuguese
local time — worth calling out explicitly because Portugal's +00:00 base
offset makes it easy to mistakenly assume "European time" means
+01:00/+02:00 like most of the continent, when Lisbon in fact matches
London and Dublin instead. Postgres accepts it via
SET TIME ZONE 'Europe/Lisbon'; or the timezone setting, applying the
DST rule correctly for any date. Where a scheduler supports a
CRON_TZ=Europe/Lisbon line, jobs run by local time directly; GitHub
Actions' schedule: trigger always evaluates in UTC, so a fixed-local-hour
job needs its UTC equivalent updated across each DST boundary. Avoid the
1:00–2:00am local window for anything that must run exactly once.
History and quirks
Portugal is a rare case of a country that tried a neighbor's time zone and
deliberately switched back. Under Decree-Law 124/92 in 1992, Aníbal Cavaco
Silva's government moved the mainland to Central European Time
(+01:00/+02:00, matching Spain), citing energy savings and closer
alignment with EU working hours. The change proved unpopular fast: winter
sunrise slipped past 9am in a country where the school day starts early,
and a European Commission study later found no measurable energy savings —
people simply left lights on longer rather than saving power. Lisbon's
Astronomical Observatory recommended reverting on geographic grounds in
1996, and Decree-Law 17/96 restored Western European Time that year,
keeping the EU's DST dates in place either way. That four-year experiment
is the direct reason Portugal and Spain — sharing the Iberian Peninsula and
a long land border — run on different base offsets today, one of the more
visible time zone mismatches in Western Europe. The Azores, a Portuguese
autonomous region further out in the Atlantic, sit in their own separate
zone a further hour west and were unaffected by the mainland's experiment.
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/Lisbon 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/Lisbon in winter/summer?
- Europe/Lisbon is +00:00 on standard time and +01:00 during daylight saving time.
- Which cities use Europe/Lisbon?
- Lisbon, Porto, Amadora, Braga all use the Europe/Lisbon zone — also commonly known as Western European Time — along with the rest of Portugal.
- What is the deprecated alias for this zone?
- Portugal is a deprecated backward-compatibility name for this zone. Use the canonical identifier Europe/Lisbon in code, cron jobs, `TZ` environment variables and config files instead.