Fejl ved sommertidsskift
Når urene hopper frem, sker én lokal time aldrig. Når de falder tilbage, sker én lokal time to gange. Kalendere, der gemmer et vægur uden zone, vælger det forkerte øjeblik — eller crasher.
Den manglende time
I det meste af EU hopper 02:00 til 03:00 sidste søndag i marts. Der findes ingen 02:30 den morgen. Et møde gemt som “02:30 Europe/Paris” er ugyldigt; biblioteker folder det frem til 03:30 eller afviser det. Brugere ser et opkald, der “flyttede sig selv.”
Amerikanske zoner hopper typisk 02:00 til 03:00 anden søndag i marts. Samme hul, på en anden dato end Europa. En serie der var fin i februar kan knække i marts på kun den ene side af Atlanten.
Zoner uden sommertid (Asia/Tokyo, Asia/Kolkata, America/Sao_Paulo i dag) har ingen manglende time. At blande dem med en DST-zone er, hvordan en “samme lokale tid hver uge”-serie driver for DST-siden alene.
Den gentagne time
Om efteråret går urene tilbage. 02:00–03:00 sker to gange i mange zoner. Tvetydige lokale tider skal have en disambigueringspolitik: tidligere eller senere offset. Hvis biblioteket vælger i stilhed, kan to deltagere joine en time fra hinanden.
Køreplaner publicerer typisk “første 02:00” vs “anden 02:00.” Forbrugerkalendere gør det sjældent. Til et kritisk opkald den weekend: vælg 04:00 lokalt, eller mød i UTC den ene gang.
NowZones-forskelssider navngiver næste overgangsdato på hver side, så du kan undgå den weekend i stedet for at debugge den live.
Sådan undgår du at sende fejlen afsted
Gem IANA-id’er. Omregn med et bibliotek der implementerer tzdb, ikke med et regneark af offsets. Test datoer i mismatch-ugerne (USA vs EU) og på selve overgangssøndagene.
Planlæg aldrig et produktionsjob kl. 02:15 lokalt i en DST-zone uden at angive politikken. Foretræk 04:00 lokalt eller UTC.
Læs DST-forklaringen for politikken; denne side er fejltilstanden. Bysider viser, om et sted overhovedet holder sommertid, så du ved om hullet findes.
Prøv værktøjerne
Ofte stillede spørgsmål
- Hvorfor forsvandt mit 02:30-møde?
- Det faldt i forårshullet. Opret det igen kl. 03:30 eller et andet gyldigt civilt tidspunkt, med et zone-id på begivenheden.
- Hvilken time skal jeg vælge om efteråret?
- Det senere offset (normaltid) er mindre overraskende til morgenmøder, men det eneste robuste valg er at undgå folden. Sæt begge bytider i invitationsbrødteksten.
- Håndterer omregneren overgangsdage?
- Den bruger IANA-regler for den dato, du indtaster. Vælg mødetes faktiske kalenderdag, ikke “en typisk tirsdag.”