tz database

tz database
Карта всех временных зон, кроме Антарктики, на базе tz database версии 2009 года[1]

tz databaseангл. timezone 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]. Организация ICANN приняла решение разместить на своих серверах базу знаний о часовых поясах. Теперь tzdata находится на серверах Администрации адресного пространства Интернет (IANA, подразделение ICANN) по адресу http://www.iana.org/time-zones. В феврале 2012 года Astrolabe отозвала свой иск, принеся извинения общественности — «Наш судебный иск против мистера Олсона и мистера Эггерта был основан на превратном понимании закона. Теперь мы понимаем, что исторические факты не являются ничьей собственностью и, соответственно, отзываем свою претензию. Мы глубоко сожалеем о проблемах, которые появились из-за нашего иска у мейнтейнеров базы данных TZ и у пользователей интернета»[12].

Содержание

Функционал

В базе tzdata содержится детальная информация обо всех часовых поясах во всех регионах мира:

  • координатная привязка основных населённых пунктов, характеризующих часовой пояс;
  • смещение локального времени в различных регионах относительно универсального времени UTC;
  • указано, в каких регионах применяется летнее время, насколько оно смещается относительно стандартного, указаны точные даты и время переключения на летнее время и обратно в различных регионах в различные периоды;
  • информация о високосных секундах.

Важной особенностью базы tzdata является то, что она хранит не только текущее состояние всех мировых часовых поясов (то есть текущие правила расчёта локального времени относительно UTC в каждом регионе мира), но все изменения этих правил расчёта локального времени для всех регионов за всё время с начала UNIX-эпохи (1 января 1970 года). Например, если какая-то страна с определённого момента начинает использовать другой часовой пояс, меняет дату перехода на летнее время или отменяет переход, то эта информация сохраняется в tzdata с точностью до секунды, когда это произошло.

Благодаря этой особенности, можно вести точные расчёты времени для разных стран за разные промежутки времени. Например, локальное время:

  • 2010-12-01 14:00 (MSK) — соответствует 2010-12-01 11:00 (UTC)
  • 2011-12-01 14:00 (MSK) — соответствует 2011-12-01 10:00 (UTC)

Поскольку в 2011 году в России был отменён переход на летнее время[13], то в один исторический период часовая зона Москвы соответствовала UTC +03:00, а в другой исторический период та же самая часовая зона соответствовала уже UTC +04:00. База tzdata помогает разрешить подобные неоднозначности, так как там хранится подробная информация о том, когда и как рассчитывалось время в каждом из часовых поясов в каждый из временных периодов с 1970 года.[14]

Именование

Временные зоны имеют уникальные имена в форме «Район/Расположение» (Area/Location), например «Америка/Нью-Йорк», чтобы их было легче воспринимать людям. Выбраны англоязычные названия или их эквиваленты, опускается пунктуация и общие суффиксы, пробел заменяется на подчёркивание, используются дефисы.

Район включает имена континентов, океанов и «прочее» (Etc). В набор континентов и океанов входят: Африка, Америка, Антарктика, Северный Ледовитый океан, Азия, Атлантический океан, Австралия, Европа, Индийский океан и Тихий океан.

Форматы файлов

Временные зоны России в tz database на 2009 год

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

В большинстве UNIX-подобных ОС скомпилированные файлы с описанием часовых зон из пакета tzdata можно найти здесь: /usr/share/zoneinfo/[14].

Версии tzdata нумеруются следующим образом: вначале четырёхзначное число, означающее год выхода этой версии, затем одна буква латинского алфавита по порядку: a, b, c, d и т. д. по мере выхода новых версий tzdata в течение одного года. Например, в 2010 году выходили версии tzdata: 2010a, 2010b, 2010c и далее до версии 2010o. В 2011 году выходили версии tzdata: 2011a, 2011b, 2011c… и далее до 2011n[15].

Управление

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

Использование в других стандартах

CLDR использует UN/LOCODE для определения регионов[16]. Это означает, что идентификаторы ссылаются на страны, чего создатели 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 и более поздние версии[17][18] (ранние версии AIX, начиная с AIX 5.2, включали информацию о временных зонах[19] для поддержки сторонних приложений вроде MySQL[20], но не использовали её сами[19][21]);
  • некоторые другие 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 год);[22]
  • PostgreSQL начиная с версии 8.0 (2005 год);
  • встроенное программное обеспечение, вроде прошивок, использующихся в IP-часах.

ID базы Олсона также используются в Unicode Common Locale Data Repository (CLDR) и International Components for Unicode (ICU). Например, CLDR Windows → Tzid table maps Microsoft Windows[23].

Примечания

  1. Mueller, Erik A map of the TZ timezones of the world. Архивировано из первоисточника 2 августа 2012.
  2. Eggert, Paul; Olson, Arthur David Sources for time zone and daylight saving time data (29 ноября 2007). Архивировано из первоисточника 2 августа 2012. Проверено 3 декабря 2007.
  3. Olson, Arthur David Resolved timezone issue? Other issues. New ctime manual page. Список рассылки tz (16 декабря 1986).
  4. Eggert, Paul Re: FW: IANA time zone registration - proposal. Список рассылки tz (январь 2005).
  5. Eggert, Paul proposal for time zone names. Список рассылки tz (20 октября 1993).
  6. Olson, Arthur David Re: ist of issues. Список рассылки tz (18 марта 1987).
  7. Devine, Bob leap seconds; [0-60] is ok. Список рассылки tz (2 июня 1988).
  8. Olson, Arthur David seismo!elsie!tz ; new versions of time zone stuff. Список рассылки tz (24 ноября 1986).
  9. Eggert, Paul questions and comments on http://tycho.usno.navy.mil/tzones.html. Список рассылки tz (11 ноября 1995).
  10. zoneinfo tzcode and tzdata archives (FTP). Проверено 30 октября 2007.
  11. Olson, Arthur David Civil suit; ftp shutdown; mailing list shutdown  (англ.) (6 October 2011). Архивировано из первоисточника 2 августа 2012. Проверено 8 октября 2011.
  12. EFF Wins Protection for Time Zone Database  (англ.). Electronic Frontier Foundation (22.02.2012). Проверено 23 февраля 2012..
  13. Законопроект № 509727-5 Об исчислении времени
  14. 1 2 roman_tik: Tzdata — глобальная база знаний о часовых поясах
  15. IANA — Time Zone Database
  16. Unicode Locale Extension (‘u’) for BCP 47 — CLDR — Unicode Common Locale Data Repository
  17. Olson time zone support and setup. AIX 7.1 information. IBM. Архивировано из первоисточника 2 августа 2012. Проверено 12 марта 2011.
  18. Managing the Time Zone Variable. IBM (2 февраля 2007). Проверено 11 марта 2011.
  19. 1 2 AIX O/S updated to support 2007 Daylight Saving Time change. IBM (18 октября 2007). Архивировано из первоисточника 2 августа 2012. Проверено 12 марта 2011.
  20. 2007 daylight savings time changes for Unix. Academic Computing and Communications Center, University of Illinois at Chicago (25 февраля 2007). Архивировано из первоисточника 2 августа 2012. Проверено 18 марта 2008.)
  21. Wickremasinghe, Christopher Introduction of daylight saving time in Western Australia 2006. AIX Wiki. IBM (30 марта 2009). Архивировано из первоисточника 2 августа 2012. Проверено 11 марта 2011.
  22. Oracle Database Globalization Support Guide 10g Release 1 (10.1): Chapter 4, Section "Choosing a Time Zone File". — Oracle Corporation, 2004. — P. 4–14. — ISBN Part No. B10749-02
  23. Windows → Tzid. Unicode Consortium (12 ноября 2007). Архивировано из первоисточника 2 августа 2012. Проверено 17 февраля 2008.

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "tz database" в других словарях:

  • Database design — is the process of producing a detailed data model of a database. This logical data model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a Data Definition Language, which… …   Wikipedia

  • Database audit — Database auditing involves observing a database so as to be aware of the actions of database users. Database administrators and consultants often set up auditing for security purposes, for example, to ensure that those without the permission to… …   Wikipedia

  • Database security — concerns the use of a broad range of information security controls to protect databases (potentially including the data, the database applications or stored functions, the database systems, the database servers and the associated network links)… …   Wikipedia

  • Database administration and automation — Database administration is the function of managing and maintaining database management systems (DBMS) software. Mainstream DBMS software such as Oracle, IBM DB2 and Microsoft SQL Server need ongoing management. As such, corporations that use… …   Wikipedia

  • Database activity monitoring — (DAM) is a database security technology for monitoring and analyzing database activity that operates independently of the database management system (DBMS) and does not rely on any form of native (DBMS resident) auditing or native logs such as… …   Wikipedia

  • Database marketing — is a form of direct marketing using databases of customers or potential customers to generate personalized communications in order to promote a product or service for marketing purposes. The method of communication can be any addressable medium,… …   Wikipedia

  • Database tuning — describes a group of activities used to optimize and homogenize the performance of a database. It usually overlaps with query tuning, but refers to design of the database files, selection of the database management system (DBMS), operating system …   Wikipedia

  • Database journalism — or structured journalism is a principle in information management whereby news content is organized around structured pieces of data, as opposed to news stories. Communication scholar Wiebke Loosen defines database journalism as supplying… …   Wikipedia

  • Database storage structures — Database tables/indexes are typically stored on hard disk in one of many forms, ordered/unordered Flat files, ISAM, Heaps, Hash buckets or B+ Trees. These have various advantages and disadvantages discussed in this topic. The most commonly used… …   Wikipedia

  • Database virtualization — is the decoupling of the database layer, which lies between the storage and application layers within the application stack. Virtualization at the database layer allows hardware resources to be extended to allow for better sharing resources… …   Wikipedia

  • database — da‧ta‧base [ˈdeɪtəˌbeɪs] noun [countable] COMPUTING a large amount of information on a particular subject that is stored on a computer in an organized way so that you can find and use it easily: • a database of all the UK clearing houses •… …   Financial and business terms


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»