tz databáze (z anglického timezone database - databáze časových pásem) nebo IANA Time Zone Database nebo zoneinfo databáze (databáze informací o pásmech) - společně shromažďované informace o světových časových pásmech , určené pro použití především operačními systémy a počítačovými programy [2] . Někdy je označována jako " databáze Olson " , protože ji založil Arthur David Olson [ 3 ] . Databázi edituje a spravuje Paul Eggert [4 ] .
Jeho nejznámějším rysem je jednotné pojmenování časových pásem Paula Eggerta, jako je „Amerika/New York“ a „Evropa/Paříž“ [5] . Databáze se snaží shromáždit informace o všech historických časových pásmech a všech jejich civilních změnách od roku 1970, éry Unixu [6] . Obsahuje také informace o letním čase a dokonce i záznam o přestupných sekundách [7] .
Počátky projektu sahají minimálně do roku 1986 [8] . Databáze projektu, stejně jako některé zdrojové soubory, jsou ve veřejné doméně [9] . Nové verze databáze jsou publikovány zpravidla několikrát ročně [10] .
Na podzim roku 2011 podala společnost Astrolabe žalobu, v níž Olsona a Eggerta obvinila z porušování autorských práv. V tomto ohledu Olson 6. října přestal přistupovat k ftp serveru databáze a zveřejňovat seznam adresátů [11] . Organizace ICANN se rozhodla hostit na svých serverech znalostní bázi časových pásem. tzdata je nyní hostována na serverech Internet Assigned Numbers Authority (IANA, divize ICANN) na adrese http://www.iana.org/time-zones . V únoru 2012 společnost Astrolabe stáhla svou žalobu a vydala veřejnou omluvu – „Naše právní kroky proti panu Olsonovi a panu Eggertovi byly založeny na nepochopení zákona. Nyní chápeme, že historická fakta nejsou nikomu majetkem, a proto svůj nárok stahujeme. Hluboce litujeme problémů, které naše žaloba způsobila správcům databáze TZ a uživatelům internetu“ [12] .
Databáze tzdata obsahuje podrobné informace o všech časových pásmech ve všech oblastech světa:
Důležitou vlastností databáze tzdata je, že uchovává nejen aktuální stav všech světových časových pásem (tedy aktuální pravidla pro výpočet místního času vzhledem k UTC v jednotlivých regionech světa), ale všechny změny těchto pravidel pro výpočet místního času pro všechny oblasti pro všechny časy od počátku epochy UNIX ( 1. ledna 1970 ). Pokud například země začne od určitého okamžiku používat jiné časové pásmo, změní datum přechodu na letní čas nebo přechod zruší, pak se tato informace uloží do tzdata až do sekundy, kdy k tomu došlo.
Díky této funkci je možné provádět přesné časové výpočty pro různé země pro různá časová období. Například místní čas:
Protože v roce 2011 byla v Rusku zrušena sezónní změna času a byl zaveden konstantní letní čas [13] , a poté od 26. října 2014 - konstantní zimní čas - v různých časových obdobích odpovídalo časové pásmo Moskvy UTC +03:00 , UTC +04: 00 a UTC +03:00/+04:00. Databáze tzdata pomáhá vyřešit takové nejasnosti, protože uchovává podrobné informace o tom, kdy a jak byl čas vypočítáván v jednotlivých časových pásmech v každém časovém období od roku 1970. [čtrnáct]
Vývojářská komunita se snaží provést změny „v předstihu“ – než vstoupí v platnost příslušná časová pravidla, aby do této doby už o změnách „věděly“ uživatelské operační systémy. Takže velká aktualizace ruských časových pásem, která ovlivňuje počítání času od 2:00 26. října 2014, vyšla ve verzi 2014f již v srpnu 2014.
Časová pásma mají jedinečné názvy ve tvaru Oblast / Místo , jako je Amerika / New York, aby je lidé snáze pochopili. Vybírají se anglické názvy nebo jejich ekvivalenty, vynechává se interpunkce a běžné přípony, mezery se nahrazují podtržítky, používají se pomlčky.
Oblast zahrnuje názvy kontinentů, oceánů a „jiných“ ( atd .). Soubor kontinentů a oceánů zahrnuje: Afrika , Amerika , Antarktida , Severní ledový oceán , Asie , Atlantský oceán , Austrálie , Evropa , Indický oceán a Tichý oceán .
Databáze tz je publikována jako sada textových souborů se seznamem pravidel a skokových zón ve formátu čitelném pro člověka. Pro použití jsou tyto textové soubory zkompilovány do sady binárních souborů nezávislých na platformě pro každé časové pásmo. Kód obsahuje kompilátor nazvaný zic (překladač informací o zóně) a také kód pro čtení těchto souborů a jejich použití ve standardních rozhraních API , jako je . localtime()mktime()
Na většině operačních systémů podobných UNIXu lze zkompilované soubory časového pásma z balíčku tzdata nalézt zde: /usr/share/zoneinfo/ [14] .
Verze tzdata jsou číslovány takto: nejprve čtyřmístné číslo označující rok vydání této verze, poté jedno písmeno latinské abecedy v pořadí: a, b, c, d atd. jako nové verze tzdata jsou propuštěn do jednoho roku. Například v roce 2010 byly vydány verze tzdata: 2010a, 2010b, 2010c a dále až do verze 2010o. V roce 2011 byly vydány verze tzdata: 2011a, 2011b, 2011c… a dále až do roku 2011n, v září 2014 byla vydána verze 2014h [15] .
Kód a databázi spravuje skupina dobrovolníků. Arthur David Olson provádí velké změny v kódu a Paul Eggert provádí hlavní změny v databázi. Navrhované změny jsou zasílány do mailing listu, který přeposílá zprávy skupině Usenet comp.time.tz. Zdrojové soubory byly distribuovány přes FTP server elsie.nci.nih.gov (není k dispozici) a později přes ftp.iana.org/tz. Obvykle jsou tyto soubory obdrženy od distributorů softwaru, jako je Debian , zkompilovány a poté jsou zdrojové soubory a binární soubory zabaleny jako součást distribuce. Koncoví uživatelé se mohou buď spolehnout na proces aktualizace svého softwaru, nebo získat kód přímo ze zdroje na adrese ftp://ftp.iana.org/tz .
CLDR používá k definování regionů UN/LOCODE [16] . To znamená, že identifikátory odkazují na země, čemuž se tvůrci databáze tz chtěli vyhnout.
Databáze se používá pro zpracování a transformace časových pásem v mnoha softwarových balíčcích, včetně:
Olsonova základní ID jsou také používána Unicode Common Locale Data Repository (CLDR) a International Components for Unicode (ICU). Například CLDR Windows → Tzid tabulky mapuje Microsoft Windows [23] .
Časová pásma posunutím od UTC | |
---|---|
| |
Některé země na severní a jižní polokouli používají letní čas . Časová pásma psaná kurzívou se momentálně nepoužívají. |