Pre priemerného Američana žijúceho v Chicagu je ľahké zistiť čas v New Yorku. Jednoducho vezmite čas v Chicagu a pridajte jednu hodinu: 10:00 sa zmení na 11:00.
Časové pásma sa však stávajú komplikovanejšími, keď ide o geopolitiku, a pre všetky úlohy, ktoré zahŕňajú spracovanie času, je znalosť správneho časového pásma životne dôležitá.
Pokračujte v čítaní a zistite tri z našich najčastejších spôsobov, ako sa môže pokaziť časové pásmo servera a ako to môžete opraviť.
Ako sa pokazia časové pásma?
Takže viete, aké sú časové pásma a každý jeden zo svojich serverov ste nakonfigurovali tak, aby ich správne odrážal. Pre jedného klienta v Spojenom kráľovstve ste nastavili server na GMT +0, pre iného v Rusku ste ho nastavili na UTC +4 a pre ďalšieho v Kalifornii ste ho nastavili na GMT -8 (myslíte).
Gratulujeme, podarilo sa vám nastaviť časové pásma, ktoré odrážajú, kde sídlia vaši klienti. Ale urobili ste chybu… v skutočnosti niekoľko. Vaši klienti sú rýchlo späť na telefóne a pýtajú sa, prečo ste vybrali toto časové pásmo, a hovoria vám, že je potrebné ho čo najskôr zmeniť.
Takže, kde ste urobili chybu?
Zabudli ste na letný čas
Predstavte si, že nastavujete server a dostanete sa do bodu, keď potrebujete nastaviť časové pásmo. “No, Michigan je (takmer úplne) vo východnom časovom pásme,” pomyslíte si, “a je 27. marca, takže časové pásmo nastavím na EDT.” Ak nastavíte časové pásmo na „EDT“, bude to fungovať dobre… Do 4. novembra.
Je to preto, že práve vtedy končí letný čas (DST). V tomto bode bude váš server vypnutý o 1 hodinu, kým sa opäť nezačne letný čas. Ak by ste namiesto toho nastavili časové pásmo na „Amerika/Detroit“, v správnom čase by sa prepol na letný čas a znova by sa prepol späť. To je dôvod, prečo inštalátori operačného systému často vyžadujú, aby ste si priamo vybrali umiestnenie namiesto časového pásma.
Niektoré časové pásma nie sú také, aké sa zdajú
Klient požaduje nastavenie časového pásma na ‘GMT-8’, čo znamená 8 hodín po UTC/GMT. (Približne zodpovedá Britskej Kolumbii, Kalifornii, väčšine Nevady, časti Mexika.) Šťastne odídete a nastavíte časové pásmo na Databáza časových pásiem IANA špeciálna administratívna zóna (wow, aké sústo) ‘Etc/GMT-8’. Potom šťastne pokračujete vo svojom dni.
To je dovtedy, kým sa vám klient zúfalo nehrne, aby vám povedal, že ste sa úplne pomýlili a nastavili časové pásmo na GMT+8, čo je opak toho, čo chcel. (Toto zhruba zodpovedá východnej Ázii a zábavný fakt: toto je najľudnatejšie časové pásmo na svete).
Dvakrát skontrolujte a uvidíte, na ktorý súbor /etc/localtime je symbolický odkaz. Vidíte /usr/share/zoneinfo/Etc/GMT-8, ktorý sa zdá byť správny. Chvíľu sa škrabeš na hlave.
Nakoniec sa odvážite dostatočne hlboko do králičej diery, aby ste zistili, že časové pásma „Etc/GMT“ v databáze časových pásiem IANA majú zmenené znamenie kvôli staršie dôvody POSIX, ako každá zvláštna vec v nádhernom svete Linuxu. Prepnete časové pásmo na „Etc/GMT+8“ a aktualizujete. Všetko je dobré so svetom.
Časové pásma odrážajú geopolitiku
Píše sa rok 2013. Medzi častými záchvatmi harlemu zadávate požiadavku klienta na aktualizáciu servera na rovnaké časové pásmo ako Moskva. Keďže ste veľmi geopoliticky zdatní, hneď ste vedeli, že Rusko prešlo v roku 2011 na „trvalý letný čas“ a časové pásmo Moskvy bude UTC+4. Trvalá istota vám znie ako večnosť, takže sa potľapkáte po pleci a nazývate to dobre.
ALE MÝLIŠ SA.
Rusko prešlo v októbri 2014 na, ehm, trvalý neletný čas (?), čím sa správne časové pásmo pre Moskvu UTC+3 od tohto bodu stalo „natrvalo“. Keďže ste používali UTC+4, čas serverov sa v roku 2014 prerušil a klient musel vložiť nový lístok, aby ho upravil.
Ak by ste namiesto toho použili „Európa/Moskva“, časové pásmo by sa v roku 2014 správne upravilo v dôsledku aktualizácií balíka „tzdata“. Tento balík obsahuje databázu časových pásiem IANA a v priebehu času sa aktualizuje pre administratívne a geopolitické zmeny.
Zmena časového pásma na miesto
Namiesto zmeny serverov na konkrétne pomenované časové pásmo vám odporúčame nastaviť čas na konkrétne miesto. Pomáha to vyhnúť sa úskaliam a problémom uvedeným vyššie.
Jedna z najpopulárnejších databáz časových pásiem sa nazýva tz databázy. V rámci databázy majú rôzne miesta rôzne názvy v závislosti od oblasti/lokácie. Napríklad Amerika/Detroit, Európa/Londýn atď.
Namiesto prechodu na offset UTC/GMT, ako je GMT+8, databázy ako napr tz databázy zohľadňujú geopolitické a iné zmeny na celom svete, čo vám umožňuje nastaviť časové pásmo na miesto. To znamená, že pokiaľ správne nastavíte svoju polohu, vaše časové pásmo sa nikdy nepokazí… pravdepodobne.