Tz database
プロジェクトの起源は少なくとも1986年にまで遡る。データベース構築のためタイムゾーンや夏時間の履歴を調査するのに現在も使用している重要な情報源は、トーマス・G・シャンクス(英語版)(Thomas G. Shanks)により"ACS publications"から1978年以降数版刊行されているアトラス、The American Atlas並びにシャンクスとリック・ポッテンジャー(Rique Pottenger)によるThe International Atlasである。幾つかの参照用ソースコードも含め、プロジェクトのデータベースはパブリックドメインに置かれている。概ね年に数回、変更が必要となる場合にデータベースの新版が公開される。
Linuxディストリビューションをはじめとする多くのUnix系システムにおいて、タイムゾーンデータが格納されている標準的なディレクトリパスは/usr/share/zoneinfo/である。ファイルの形式識別用コマンドであるfile(英語版)は、次の実行例のように、バイナリ形式のタイムゾーンファイル内部からデータを読み出し、人間が理解しやすいテキスト形式で表示する機能をサポートしている。
Unix系システムにおいて、環境変数TZにTime Zone Databaseのタイムゾーンを指定しdateコマンドの出力結果が変化する様子を示す。シェルのロケールは日本(例: 環境変数LANG=ja_JP.UTF-8など)に指定されているものとする。またOSのインストール時に指定したタイムゾーンは日本標準時であるものとする。タイムゾーン設定はGNU Cライブラリでは/etc/localtimeファイルに保存され、コンパイル済みタイムゾーンデータは/usr/share/zoneinfoディレクトリ以下に保存されることが多いとされる。
zone1970.tab はライセンスがパブリックドメインの Time Zone Database のファイルの1つである。かつては zone.tab が使われていたが、現在は zone1970.tab の方を使うことが推奨されており過去との互換性のために zone.tab が残されている。zone1970.tab にはタイムゾーンが一覧で記述されている。2014年7月19日までの zone.tab には、列、行が表す区分はファイル内のコメントに次のように記述されていた。
参考訳:
GNU Cライブラリ(glibc)とその派生物ではTime Zone Databaseのzicを改変したものを収録している。
Unix系システムでは、オペレーティングシステム・インストール時もしくは、適宜ユーザの指示によりシステム時刻の標準時を指定できる。概ねUTCまたはシステムが設置されている地域の標準時などその他任意の標準時を指定できる。設定の後システムは前述の通りタイムゾーン・テキストをコンパイルする。よってこの場合Time Zone Databaseのアップグレードを行う度にコンパイルし直す必要があるが、概ね現代的なパッケージ管理システムは標準CライブラリもしくはTime Zone Databaseを含むパッケージのアップグレード時に自動的に生テキストデータを再コンパイルする。組み込みLinuxなどのメモリの少ない環境では、コンパイル処理に時間がかかるため、コンパイル済みのパッケージを利用する場合もある。Debian 6.0(コードネーム; squeeze)などではこの方法を採用している。