For nylig fik jeg en meddelelse på min telefon om, at der var nye tidszonedefinitioner tilgængelige, og at jeg skulle genstarte min telefon. Jeg kan ikke huske, at jeg tidligere har set denne type meddelelse, men på baggrund af nogle af mine seneste dataanalyseprojekter havde jeg en god idé om, hvad det kunne dreje sig om.
The Internet Assigned Numbers Authority (IANA) vedligeholder en database, tz-databasen, med kode og data, der repræsenterer historien om lokaltid for mange steder rundt om i verden. Ved hjælp af de tidszonedefinitioner, der er indeholdt i tz-databasen, er det muligt at bestemme UTC-forskuddet for en bestemt tidszone på en bestemt dato. Dette omfatter definitioner for starten og slutningen af sommertid og også fuldstændige ændringer af tidszonen for et land eller en region. Disse oplysninger ændres oftere, end man skulle tro. En nylig ændring i databasen tilføjede f.eks., at Fiji begynder at overholde sommertid fra den anden søndag i november fra 2019 i stedet for den første søndag. De data, der er indeholdt i denne database, er komplekse og ligger uden for rammerne af denne artikel.
Hvis du har skrevet kode til at konvertere tid fra en tidszone til en anden, bruger et utal af apps, der skal konvertere mellem tidszoner, eller bruger websteder til at foretage konverteringen, så har du næsten helt sikkert på en eller anden måde eller form interageret med tz-databasen. Databasen er generelt indlejret i softwaresystemer som f.eks. operativsystemer (Windows, Android, iOS osv.) og i miljøer som biblioteker (f.eks. Java, Python og .Net osv.).
Tz-databasen opdateres med jævne mellemrum for at afspejle ændringer, som politiske organer foretager i tidszonegrænser, UTC-offsets og sommertidsregler. Det er vigtigt for programmører og softwareudviklere at være opmærksomme på dette, da ændringerne kan have en indvirkning for slutbrugerne, og at opdateringer af kode eller biblioteker måske er nødvendige for at afspejle ændringerne, især hvis de ikke er blevet opdateret i flere år. Det er også vigtigt for slutbrugerne at holde softwaren opdateret for at sikre, at biblioteker, der bruges af apps på enheder som computere og telefoner, indeholder de seneste ændringer i tz-databasen for at kunne konvertere tiden korrekt mellem forskellige zoner.
Sådan, hvad indeholder de seneste ændringer? En opdatering af tz-databasen blev frigivet den 23. april 2020 (2020a) for at inkludere opdateringer af følgende oplysninger:
- Marokko overholder i øjeblikket permanent sommertid (UTC+01) hele året, undtagen i ramadanmåneden, hvor landet vender tilbage til sin oprindelige UTC-tidszone. Oprindeligt blev det anslået, at Marokko ville gå tilbage til UTC+1 den 24. maj 2020 (slutningen af ramadanen), men det blev officielt meddelt, at tidsskiftet faktisk ville finde sted den 31. maj 2020.
- Det canadiske territorium Yukon meddelte, at det vil overholde permanent stillehavstid (UTC-07) hele året rundt i stedet for at gå tilbage til stillehavsstandardtid (UTC-08) i november 2020.
- Tilføjelse af sommertid for Shanghai i 1919.
I det store billede virker disse ændringer ofte mindre, men i nogle anvendelser kan brugen af forkert omregnede tider have alvorlige konsekvenser.