För en kort tid sedan fick jag en notis på min telefon om att nya definitioner av tidszoner fanns tillgängliga och att jag behövde starta om min telefon. Jag minns inte att jag har sett den här typen av meddelande tidigare, men baserat på några av mina senaste dataanalysprojekt hade jag en bra idé om vad detta kunde handla om.
Internet Assigned Numbers Authority (IANA) upprätthåller en databas, tz-databasen, med kod och data som representerar den lokala tidshistorien för många platser i världen. Med hjälp av de tidszonsdefinitioner som finns i tz-databasen är det möjligt att bestämma UTC-förskjutningen för en viss tidszon vid ett visst datum. Detta inkluderar definitioner för början och slutet av sommartid och även fullständiga ändringar av tidszonen för ett land eller en region. Denna information ändras oftare än man kan anta. En nyligen genomförd ändring i databasen innebar till exempel att Fiji började tillämpa sommartid från och med den andra söndagen i november från och med 2019 i stället för den första söndagen. Uppgifterna i denna databas är komplexa och ligger utanför den här artikelns räckvidd.
Om du har skrivit kod för att konvertera tid från en tidszon till en annan, använder en mängd olika appar som behöver konvertera mellan tidszoner eller använder webbplatser för att göra konverteringen, så har du med största sannolikhet på något sätt interagerat med tz-databasen. Databasen är i allmänhet inbäddad i mjukvarusystem som operativsystem (Windows, Android, iOS etc.) och i miljöer som bibliotek (t.ex. Java, Python och .Net etc.).
Tz-databasen uppdateras med jämna mellanrum för att återspegla de ändringar som politiska organ gör av tidszonsgränser, UTC-förskjutningar och regler för sommartid. Detta är viktigt för programmerare och programvaruutvecklare att tänka på eftersom ändringarna kan få konsekvenser för slutanvändarna och att uppdateringar av kod eller bibliotek kan krävas för att återspegla ändringarna, särskilt om de inte har uppdaterats på flera år. Det är också viktigt för slutanvändare att hålla programvaran uppdaterad för att se till att bibliotek som används av appar på enheter som datorer och telefoner innehåller de senaste ändringarna i tz-databasen för att korrekt konvertera tiden mellan olika zoner.
Så, vad ingår i de senaste ändringarna? En uppdatering av tz-databasen släpptes den 23 april 2020 (2020a) för att innehålla uppdateringar av följande information:
- Marocko tillämpar för närvarande permanent sommartid (UTC+01) under hela året, med undantag för Ramadanmånaden då landet återgår till sin ursprungliga UTC-tidzon. Ursprungligen beräknades det att Marocko skulle gå tillbaka till UTC+1 den 24 maj 2020 (slutet av ramadan), men det tillkännagavs officiellt att tidsomställningen faktiskt skulle äga rum den 31 maj 2020.
- Det kanadensiska territoriet Yukon meddelade att det kommer att iaktta permanent sommartid i Stilla havet (UTC-07) året runt i stället för att gå tillbaka till normaltid i Stilla havet (UTC-08) i november 2020.
- Har lagts till sommartid för Shanghai 1919.
I det stora hela kan dessa ändringar tyckas små, men i vissa tillämpningar kan användningen av felaktigt omräknade tider få allvarliga konsekvenser.