baza de date tz (din limba engleză baza de date fus orar - baza de date a fusurilor orare) sau IANA Time Zone Database sau zoneinfo baza de date (bază de date de informații despre zone) - informații colectate în comun despre fusurile orare mondiale , destinate utilizării în principal de sistemele de operare și programele de calculator [ 2] . Este uneori denumită " baza de date Olson " deoarece a fost fondată de Arthur David Olson [ 3 ] . Baza de date este editată și întreținută de Paul Eggert [4 ] .
Caracteristica sa cea mai faimoasă este denumirea unificată a fusului orar al lui Paul Eggert, cum ar fi „America/New York” și „Europe/Paris” [5] . Baza de date încearcă să colecteze informații despre toate fusurile orare istorice și despre toate schimbările lor civile din 1970, epoca Unix [6] . Include, de asemenea, informații despre ora de vară și chiar și o înregistrare a secundelor bisecătoare [7] .
Originile proiectului datează cel puțin din 1986 [8] . Baza de date a proiectului, precum și unele fișiere sursă, sunt în domeniul public [9] . Noile versiuni ale bazei de date sunt publicate, de regulă, de mai multe ori pe an [10] .
În toamna lui 2011, Astrolabe a intentat un proces acuzând Olson și Eggert de încălcarea drepturilor de autor. În acest sens, pe 6 octombrie, Olson a încetat accesarea serverului ftp al bazei de date și publicarea listei de corespondență [11] . Organizația ICANN a luat decizia de a găzdui o bază de cunoștințe de fus orar pe serverele sale. tzdata este acum găzduit pe serverele Internet Assigned Numbers Authority (IANA, o divizie a ICANN) la http://www.iana.org/time-zones . În februarie 2012, Astrolabe și-a retras procesul, emitând scuze publice - „Acțiunea noastră în justiție împotriva dlui Olson și a domnului Eggert s-a bazat pe o înțelegere greșită a legii. Acum înțelegem că faptele istorice nu sunt proprietatea nimănui și, în consecință, ne retragem pretenția. Regretăm profund problemele pe care procesul nostru le-a cauzat întreținătorilor bazei de date TZ și utilizatorilor de internet” [12] .
Baza de date tzdata conține informații detaliate despre toate fusurile orare din toate regiunile lumii:
O caracteristică importantă a bazei de date tzdata este că stochează nu numai starea curentă a tuturor fusurilor orare mondiale (adică regulile actuale pentru calcularea orei locale în raport cu UTC în fiecare regiune a lumii), ci și toate modificările aduse acestor reguli pentru calcularea orei locale pentru toate regiunile pentru toate timpurile de la începutul epocii UNIX ( 1 ianuarie 1970 ). De exemplu, dacă o țară începe să folosească un fus orar diferit dintr-un anumit moment, schimbă data tranziției la ora de vară sau anulează tranziția, atunci această informație este stocată în tzdata până la secunda când s-a întâmplat acest lucru.
Datorită acestei funcții, este posibil să se efectueze calcule precise de timp pentru diferite țări pentru diferite perioade de timp. De exemplu, ora locală:
Deoarece schimbarea sezonieră a orei a fost anulată în Rusia în 2011 și a fost stabilită ora de vară constantă [13] , iar apoi din 26 octombrie 2014 - ora constantă de iarnă - în diferite perioade de timp, fusul orar al Moscovei corespundea UTC +03:00. , UTC +04: 00 și UTC +03:00/+04:00. Baza de date tzdata ajută la rezolvarea unor astfel de ambiguități, deoarece stochează informații detaliate despre când și cum a fost calculată ora în fiecare dintre fusurile orare din fiecare dintre perioadele de timp începând cu 1970. [paisprezece]
Comunitatea de dezvoltatori încearcă să facă modificări „în avans” - înainte ca regulile de sincronizare relevante să intre în vigoare, astfel încât, până în acest moment, sistemele de operare ale utilizatorilor „știu” deja despre modificări. Deci, o actualizare mare a fusurilor orare rusești, care afectează calcularea timpului de la 2:00 pe 26 octombrie 2014, a fost publicată în versiunea 2014f deja în august 2014.
Fusurile orare au nume unice sub forma Zonă / Locație , cum ar fi America / New York, pentru a le face mai ușor de înțeles de către oameni. Sunt selectate nume în limba engleză sau echivalentele lor, semnele de punctuație și sufixele comune sunt omise, spațiile sunt înlocuite cu caractere de subliniere, sunt folosite cratimele.
Zona include numele continentelor, oceanelor și „altele” ( etc ). Setul de continente și oceane include: Africa , America , Antarctica , Oceanul Arctic , Asia , Oceanul Atlantic , Australia , Europa , Oceanul Indian și Oceanul Pacific .
Baza de date tz este publicată ca un set de fișiere text cu o listă de reguli și zone de salt într-un format care poate fi citit de om. Pentru utilizare, aceste fișiere text sunt compilate într-un set de fișiere binare independente de platformă pentru fiecare fus orar. Codul include un compilator numit zic (compilator de informații despre zonă), precum și cod pentru a citi aceste fișiere și a le utiliza în API-urilocaltime() standard precum mktime().
Pe majoritatea sistemelor de operare asemănătoare UNIX , fișierele de fus orar compilate din pachetul tzdata pot fi găsite aici: /usr/share/zoneinfo/ [14] .
Versiunile de tzdata sunt numerotate după cum urmează: mai întâi, un număr din patru cifre care indică anul lansării acestei versiuni, apoi o literă a alfabetului latin în ordine: a, b, c, d etc. după cum sunt noile versiuni ale tzdata eliberat în termen de un an. De exemplu, în 2010, au fost lansate versiuni tzdata: 2010a, 2010b, 2010c și mai departe până la versiunea 2010o. În 2011, au fost lansate versiunile tzdata: 2011a, 2011b, 2011c… și mai departe până în 2011n, în septembrie 2014 a fost lansată versiunea 2014h [15] .
Codul și baza de date sunt gestionate de un grup de voluntari. Arthur David Olson face modificări majore în cod, iar Paul Eggert face modificări majore în baza de date. Modificările sugerate sunt postate pe o listă de corespondență care trimite mesaje către grupul Usenet comp.time.tz. Fișierele sursă au fost distribuite prin serverul FTP elsie.nci.nih.gov (nu este disponibil), iar mai târziu prin ftp.iana.org/tz. De obicei, aceste fișiere sunt primite de la distribuitori de software, cum ar fi Debian , compilate, iar apoi sursele și binarele sunt împachetate ca parte a distribuției. Utilizatorii finali pot fie să se bazeze pe un proces pentru a-și actualiza software-ul, fie să obțină codul direct de la sursă la ftp://ftp.iana.org/tz .
CLDR folosește UN/LOCODE pentru a defini regiunile [16] . Aceasta înseamnă că identificatorii se referă la țări, ceea ce creatorii bazei de date tz au vrut să evite.
Baza de date este utilizată pentru procesarea și transformările fusului orar în multe pachete software, inclusiv:
ID-urile de bază ale lui Olson sunt, de asemenea, utilizate de Unicode Common Locale Data Repository (CLDR) și International Components for Unicode (ICU). De exemplu, CLDR Windows → tabelul Tzid mapează Microsoft Windows [23] .
Fusuri orare în funcție de decalaj față de UTC | |
---|---|
| |
Unele țări din emisferele nordice și sudice folosesc ora de vară . Fusele orare cu caractere italice nu sunt utilizate în prezent. |