Databáze tz

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] .

Funkčnost

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.

Pojmenování

Č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 .

Formáty souborů

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] .

Management

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 .

Použití v jiných normách

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.

Použití v softwaru

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] .

Poznámky

  1. Müller, Erik. Mapa TZ časových pásem světa . Archivováno z originálu 1. srpna 2012.
  2. Eggert, Pavel; Olson, Arthur David. Zdroje údajů o časovém pásmu a letním čase (29. listopadu 2007). Získáno 3. prosince 2007. Archivováno z originálu 1. srpna 2012.
  3. Olson, Arthur David Vyřešili jste problém s časovým pásmem? Jiné problémy. Nová manuálová stránka ctime . tz mailing list (16. prosince 1986).
  4. Eggert, Paul Re: FW: Registrace časového pásma IANA - návrh . tz mailing list (leden 2005).
  5. Eggert, Paul návrh na názvy časových pásem . tz mailing list (20. října 1993).
  6. Olson, Arthur David Re:list of issues . tz mailing list (18. března 1987).
  7. Devine, Bob skokové sekundy; [0-60] je v pořádku . tz mailing list (2. června 1988).
  8. Olson, Arthur David seismo!elsie!tz ; nové verze věcí o časovém pásmu . tz mailing list (24. listopadu 1986).
  9. Eggert, Paul dotazy a komentáře na http://tycho.usno.navy.mil/tzones.html . tz mailing list (11. listopadu 1995).
  10. zoneinfo tzcode a archivy tzdata (FTP) . Staženo: 30. října 2007.  (nedostupný odkaz)
  11. Olson, Arthur David. civilní žaloba; vypnutí ftp; vypnutí mailing listu  (anglicky) (6. října 2011). Získáno 8. října 2011. Archivováno z originálu 1. srpna 2012.
  12. ↑ EFF získává ochranu pro databázi  časového pásma . Electronic Frontier Foundation (22. února 2012). Získáno 23. února 2012. Archivováno z originálu 23. února 2012. .
  13. Návrh zákona č. 509727-5 O výpočtu času (nepřístupný odkaz) . Získáno 14. října 2011. Archivováno z originálu 12. května 2013. 
  14. 1 2 roman_tik: Tzdata je globální znalostní základna časového pásma . Získáno 30. září 2016. Archivováno z originálu 7. srpna 2016.
  15. IANA - Databáze časových pásem . Získáno 26. října 2011. Archivováno z originálu 8. března 2013.
  16. Unicode Locale Extension ('u') pro BCP 47 - CLDR - Unicode Common Locale Data Repository . Získáno 7. června 2011. Archivováno z originálu dne 28. července 2011.
  17. Podpora a nastavení časového pásma Olson . Informace AIX 7.1 . IBM. Získáno 12. března 2011. Archivováno z originálu 1. srpna 2012.
  18. Správa proměnné časového pásma (downlink) . IBM (2. února 2007). Získáno 11. března 2011. Archivováno z originálu 13. července 2011. 
  19. 1 2 O/S AIX aktualizovány tak, aby podporovaly změnu letního času 2007 . IBM (18. října 2007). Získáno 12. března 2011. Archivováno z originálu 1. srpna 2012.
  20. Změny letního času v roce 2007 pro Unix . Academic Computing and Communications Center, University of Illinois v Chicagu (25. února 2007). Získáno 18. března 2008. Archivováno z originálu 1. srpna 2012. )
  21. Wickremasinghe, Christopher. Zavedení letního času v Západní Austrálii 2006 . AIX Wiki . IBM (30. března 2009). Získáno 11. března 2011. Archivováno z originálu 1. srpna 2012.
  22. Příručka podpory globalizace databáze Oracle 10g Release 1 (10.1): Kapitola 4, Část „Výběr souboru časového pásma  “ . - Oracle Corporation , 2004. - S. 4-14.
  23. Windows → Tzid . Unicode Consortium (12. listopadu 2007). Získáno 17. února 2008. Archivováno z originálu 1. srpna 2012.