|
HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > t > tzset - ライブラリコールの説明 tzset - ライブラリコールの説明 - Linux コマンド集 一覧表名前tzset, tzname, timezone, daylight - 時刻の変換情報を初期化する 書式
#include <time.h> 説明tzset () 関数は TZ 環境変数を用いて tzname 変数を初期化する。 この関数は、タイムゾーンに依存する他の時刻変換関数から自動的に呼び出される。 SysV 的な環境では、この関数は変数 timezone (GMT からの西向きの秒数) と daylight (このタイムゾーンにサマータイムに関するルールがなければ 0、 サマータイム期間が一年のどこかにあれば 0 以外) も設定する。 TZ 環境変数が設定されていない場合には、 tzname 変数はローカルな壁時計時刻 (wall clock time) に 最も近い値に初期化される。 このローカルな壁時計時刻としては、 システムのタイムゾーンディレクトリ (後述) にある tzfile (5) 形式のファイル localtime で指定されている値が用いられる。 (この際には /etc/localtime もよく用いられる。 これはシステムのタイムゾーンディレクトリにある 適切なファイルへのシンボリックリンクになっている。) TZ 環境変数が存在しているが、その値が空だったり、 以下に示す形式のどれにもあてはまらない場合は、 協定世界時 (Coordinated Universal Time: UTC) が用いられる。 TZ の値は以下の 3 つの形式のいずれかを取ることができる。
最初の形式はサマータイム (daylight saving time)
を持たないローカルタイムゾーンに対して用いる。
2 番目の形式はサマータイムがある場合に用いられる。
start フィールドはサマータイムが有効になる時刻、 end フィールドは標準に戻る時刻である。 これらのフィールドは以下の形式で指定する。
ファイル用いられるシステムタイムゾーンディレクトリは (g)libc のバージョンに依存する。 libc4 と libc5 は /usr/lib/zoneinfo を用いる。libc-5.4.6 以降では、これが使えなかった場合には /usr/share/zoneinfo を使おうとする。 glibc2 では環境変数 TZDIR が存在すればそれを用いる。 このデフォルトはどのようにインストールされたかによるが、 普通は /usr/share/zoneinfo である。 このタイムゾーンディレクトリには以下のファイルが含まれる。
localtime ローカルタイムゾーンのファイル posixrules POSIX 式の TZ 書式ルール /etc/localtime は、 localtime ファイルや、 システムのタイムゾーンディレクトリ中の適切なタイムゾーンファイルへの シンボリックリンクであることが多い。 準拠SVr4, POSIX.1-2001, 4.3BSD 注意daylight 変数は、現在がサマータイムであるかどうかを示しているのではない。 これはいくつかあるアルゴリズムのうちの番号を与える (アルゴリズムについては gettimeofday (2) の tz_dsttime 変数を見よ)。 これはもう何年も使われていないが、SUSv2 では必要とされている。 4.3BSD には char *timezone( zone , dst ) というルーチンがあり、これは 最初の引数 (GMT からの西向きの分数) に対応するタイムゾーンの名前を返す。 二番目の引数が 0 の場合は標準の名前が用いられ、 それ以外はサマータイム版の名前が用いられる。 関連項目
|
|