Berlin in July runs on CEST, not CET. Put "CET" on a July meeting invite and you have scheduled the call for 10:00 UTC+1. That is 11:00 local time in Berlin. Everyone shows up an hour late. One hour. That is the whole reason the distinction exists.
CET (Central European Time) is standard time, fixed at UTC+1. CEST (Central European Summer Time) is daylight saving, fixed at UTC+2. The zone shifts between them twice a year under EU law. The rule: if the date falls between late March and late October, you are on CEST. Otherwise, you are on CET.
Why does the same zone use both CET and CEST?
CET and CEST are not separate time zones. They are two offsets used by the same zone, split by the European Union's daylight saving scheme.
CET is the winter baseline. CEST is the summer adjustment, designed to push daylight into the evening. The switch happens everywhere in the EU at the same moment: 01:00 UTC. That harmonisation is mandated by EU Directive 2000/84/EC.
The one-hour jump is the entire mechanical difference. But that jump ripples through every schedule, timestamp, and cross-border call.
What is the offset difference between CET and CEST?
CET = UTC+1. CEST = UTC+2.
The gap to London stays constant. When London is on GMT (UTC+0), Paris is one hour ahead on CET. When London switches to BST (UTC+1), Paris moves to CEST (UTC+2). Still one hour ahead.
The gap to New York also stays constant, mostly. New York is six hours behind the CET zone whether it is January (CET, UTC+1 vs EST, UTC−5) or July (CEST, UTC+2 vs EDT, UTC−4). Both zones spring forward. The offset holds.
Dubai is where it shifts. Dubai stays on UTC+4 year-round. In January, when the CET zone is on UTC+1, Dubai is three hours ahead. In July, when the zone is on UTC+2, Dubai is only two hours ahead. The difference shrinks because one side moves and the other does not.
When does CET switch to CEST?
The EU sets fixed, recurring dates. Clocks go forward on the last Sunday of March. At 02:00 CET (01:00 UTC), clocks jump to 03:00 CEST. You lose an hour.
Clocks go back on the last Sunday of October. At 03:00 CEST (01:00 UTC), clocks fall back to 02:00 CET. You gain an hour.
Upcoming dates:
- CET → CEST: 29 March 2026, then 28 March 2027
- CEST → CET: 25 October 2026, then 31 October 2027
CEST covers roughly seven months. CET covers roughly five. The zone spends most of the year on summer time.
Why getting CET and CEST wrong breaks schedules
Using "CET" as a year-round label is wrong half the year. In July, Berlin is on CEST. Paris is on CEST. Rome is on CEST. Write "10:00 CET" on a July meeting invite and you have specified 10:00 UTC+1. Local time in Berlin is 11:00 CEST. The meeting runs an hour late.
Websites that hardcode "CET" in their time display are wrong for the entire summer. The correct abbreviation for summer is CEST. The IANA time zone database handles this automatically. There is no reason to get it wrong in code.
Cross-border calls add another layer. Calling the CET zone from Dubai: three hours ahead in January, two hours ahead in July. Calling from Mumbai: 4.5 hours ahead in January (CET), 3.5 hours ahead in July (CEST). The gap narrows in summer because India does not observe daylight saving.
The US and EU also change clocks on different dates. US DST starts the second Sunday of March and ends the first Sunday of November. EU DST starts the last Sunday of March and ends the last Sunday of October. For roughly two weeks in March and one week in late October, the time difference between the CET zone and US Eastern time is five hours, not six.
How do I know if it is CET or CEST right now?
Use the IANA zone. Europe/Paris or Europe/Berlin automatically reflects whether it is CET or CEST at any given moment. Every operating system, programming language, and scheduling app handles this correctly if you feed it an IANA zone.
Need a manual check? Look at the current UTC time. Add one hour in winter, two hours in summer. Or look at a clock in Berlin. That is the actual local time.
Seventeen IANA zones use the Central European metazone. They include Europe/Paris, Europe/Berlin, Europe/Madrid, Europe/Rome, Europe/Brussels, Europe/Vienna, Europe/Warsaw, Europe/Budapest, Europe/Prague, Europe/Belgrade, Europe/Tirane, Europe/Zurich, Europe/Gibraltar, Europe/Andorra, Europe/Malta, Africa/Ceuta, Africa/Algiers, and Africa/Tunis.
Algeria and Tunisia are the exception. They sit in the CET zone but do not observe daylight saving. They stay on UTC+1 year-round. From late March to late October, Algiers and Tunis are one hour behind Paris, even though all three are technically in the "same" zone.
Programming with CET and CEST
Never hardcode the offset. Never hardcode the abbreviation. Use the IANA zone identifier.
Write Europe/Paris in your code. The time zone database handles whether it is CET or CEST at that moment. Store timestamps in UTC. Convert for display at the last possible moment. That is not best practice. It is the only correct approach.
Hardcoding +01:00 or the string "CET" guarantees errors for seven months of the year. The database exists so you do not have to track the rules yourself.