Tz database (з  — База даних часових поясів) або IANA Time Zone Database або zoneinfo database (база даних інформації про зони) — спільно зібрана інформація про світові часові зони, призначена для використання в першу чергу операційними системами та комп'ютерними програмами. Іноді вона згадується як «база даних Олсона» (Olson database), бо була заснована Артуром Девідом Олсон (Arthur David Olson). Редактором і зберігачем бази є Пол Еггерт (Paul Eggert).

Її найвідоміша можливість — уніфіковане іменування часових поясів, розроблене Полом Еггертом, таке, як «Америка/Нью-Йорк» і «Європа/Париж». У базі даних намагаються зібрати інформацію про всі історичні часові пояси і всі їхні громадянські зміни починаючи з 1970 року, епохи юнікс. Вона також містить інформацію про перехід на літній час і навіть запис високосних секунд.

Витоки проекту сягають принаймні 1986 року. База даних проекту, а також деякі вихідні файли, перебувають у суспільному надбанні. Нові версії бази даних публікуються, як правило, кілька разів на рік.

Восени 2011 року компанія Astrolabe подала до суду позов за звинуваченням Олсона і Еггерта в порушенні авторських прав. У зв'язку з цим 6 жовтня Олсон припинив доступ до ftp-серверу бази даних і публікацію списку розсилки.

Іменування Часові зони мають унікальні імена у формі «Район/Розташування» (Area/Location), наприклад «Америка/Нью-Йорк», щоб їх було легше сприймати людям. Обрано англомовні назви або їх еквіваленти, опускається пунктуація і загальні суфікси, пробіл замінюється на підкреслення, використовуються дефіси.

Район включає імена континентів, океанів і «інше» (Etc). У набір континентів і океанів входять: Африка, Америка, Антарктика, Північний Льодовитий океан, Азія, Атлантичний океан, Австралія, Європа, Індійський океан та Тихий океан.

Формати файлів

tz database публікується як набір текстових файлів зі списком правил і зон переходів в людиночитаємому форматі. Для використання ці текстові файли компілюються в набір незалежних від платформи бінарних файлів для кожної часової зони. Код містить компілятор під назвою zic (zone information compiler), а також код для читання цих файлів і використання їх у стандартних API як localtime() і mktime() .

Управління Код і база даних управляються групою добровольців. Артур Девід Олсон вносить основні зміни в код, а Пол Еггерт — в базу даних. Запропоновані зміни висилаються в список розсилки, що передає повідомлення в групу Usenet comp.time.tz. Вихідні файли розповсюджуються через FTP-сервер elsie.nci.nih.gov. Зазвичай ці файли приймаються від дистриб'юторів програмного забезпечення, таких як Debian, компілюються, а потім вихідні коди і бінарні файли упаковуються як частина роздачі. Кінцеві користувачі можуть або покладатися на процес оновлення свого програмного забезпечення, або отримати код безпосередньо з джерела на ftp://elsie.nci.nih.gov/pub/.

Використання в інших стандартах Common Locale Data Repository використовує UN / LOCODE для визначення регіонів . Це означає, що ідентифікатори посилаються на країни, чого творці tz database хотіли уникнути.

Використання в програмному забезпеченні База даних використовується для обробки часової зони і перетворень в багатьох програмних комплексах, включаючи:

BSD-подібні системи, включаючи FreeBSD, NetBSD, OpenBSD, DragonFly BSD та Mac OS X; GNU C Library і використовують її системи, включаючи GNU, більшість Linux, BeOS, Haiku, Nexenta OS та Cygwin; System V Release 4-похідні системи, такі, як Solaris та UnixWare; AIX 6.1 і пізніші версії (Ранні версії AIX, починаючи з AIX 5.2, включали інформацію про часові зони для підтримки сторонніх додатків на зразок MySQL) , Але не використовували її самі); Деякі інші Unix-системи, включаючи Tru64 та UNICOS / mp (а також IRIX, досі підтримуваний, але не поставляється); OpenVMS; Java Runtime Environment починаючи з версії 1.4 (2002 рік); Модулі Perl DateTime:: TimeZone і DateTime:: LeapSecond , починаючи з 2003 року; PHP-релізи починаючи з 5.1.0 (2005 рік); Модуль Python pytz ; Модуль . NET Framework zoneinfo ; Випуски Oracle починаючи з 10g (2004 рік); PostgreSQL починаючи з версії 8.0 (2005 рік); Вбудоване програмне забезпечення, на кшталт прошивок, що використовуються в IP-годинниках.

ID бази Олсона також використовуються в Unicode Common Locale Data Repository (CLDR) і (ICU). Наприклад, CLDR Windows Tzid table maps Microsoft Windows .

Примітки