Tz database (з англ.timezone database — База даних часових поясів) або IANA Time Zone Database або zoneinfo database (база даних інформації про зони) — спільно зібрана інформація про світові часові зони, призначена для використання в першу чергу операційними системами та комп'ютерними програмами[2]. Іноді вона згадується як «база даних Олсона» (Olson database), бо була заснована Артуром Девідом Олсон (Arthur David Olson)[3]. Редактором і зберігачем бази є Пол Еггерт (Paul Eggert)[4].
Її найвідоміша можливість — уніфіковане іменування часових поясів, розроблене Полом Еггертом, таке, як «Америка/Нью-Йорк» і «Європа/Париж»[5]. У базі даних намагаються зібрати інформацію про всі історичні часові пояси і всі їхні громадянські зміни починаючи з 1970 року, епохи юнікс[6]. Вона також містить інформацію про перехід на літній час і навіть запис високосних секунд[7].
Витоки проекту сягають принаймні 1986 року[8]. База даних проекту, а також деякі вихідні файли, перебувають у суспільному надбанні[9]. Нові версії бази даних публікуються, як правило, кілька разів на рік[10].
Восени 2011 року компанія Astrolabe подала до суду позов за звинуваченням Олсона і Еггерта в порушенні авторських прав. У зв'язку з цим 6 жовтня Олсон припинив доступ до ftp-серверу бази даних і публікацію списку розсилки[11].
Іменування
Часові зони мають унікальні імена у формі «Район/Розташування» (Area/Location), наприклад «Америка/Нью-Йорк», щоб їх було легше сприймати людям. Обрано англомовні назви або їх еквіваленти, опускається пунктуація і загальні суфікси, пробіл замінюється на підкреслення, використовуються дефіси.
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/[недоступне посилання з лютого 2019].
Використання в інших стандартах
Common Locale Data Repository використовує UN / LOCODE для визначення регіонів[12] . Це означає, що ідентифікатори посилаються на країни, чого творці tz database хотіли уникнути.
Використання в програмному забезпеченні
База даних використовується для обробки часової зони і перетворень в багатьох програмних комплексах, включаючи:
AIX 6.1 і пізніші версії[13][14] (Ранні версії AIX, починаючи з AIX 5.2, включали інформацію про часові зони[15] для підтримки сторонніх додатків на зразок MySQL[16] , Але не використовували її самі[15][17]);
Деякі інші Unix-системи, включаючи Tru64 та UNICOS / mp (а також IRIX, досі підтримуваний, але не поставляється);
↑Olson time zone support and setup. AIX 7.1 information. IBM. {{cite web}}: |access-date= вимагає |url= (довідка); Пропущений або порожній |url= (довідка)
↑Managing the Time Zone Variable. IBM. 2 лютого 2007. {{cite web}}: |access-date= вимагає |url= (довідка); Пропущений або порожній |url= (довідка)
↑Wickremasinghe, Christopher (30 березня 2009). Introduction of daylight saving time in Western Australia 2006. AIX Wiki. IBM. {{cite web}}: |access-date= вимагає |url= (довідка); Пропущений або порожній |url= (довідка)