TZSET(3)

名前
tzset - 時刻の変換情報を初期化する

書式
#include <time.h>

void tzset (void);

extern char *tzname[2]

説明
tzset() 関数は TZ 環境変数を用いて tzname 変数を初期化する。 この関数は、タイムゾーンに依存する他の時刻変換関数から自動的に呼び出さ れる。

TZ 環境変数が存在しない場合には、 tzname 変数は tzfile(5) 形式のファイル /usr/lib/zoneinfo/localtime 中で指定されている、 ローカルな壁時計時刻 (wall clock time) に最も近い値を用いて初期化され る。

TZ 環境変数が存在するが、値が NULL だったり、以下に示す形式のどれにも あてはまらない場合は、協定世界時 (Coordinated Universal Time: UTC) が 用いられる。

TZ の値は以下の 3 つの形式のいずれかを取ることができる。最初の形式はサ マータイム (daylight saving time) を持たないローカルタイムゾーンに対し て用いる。

    std offset

std 文字列はタイムゾーンの名前を指定する。アルファベットからなる 3 文字以上の文字列でなければならない。 offset 文字列は std の直後に続き、協定世界時 (UTC) を得るために、ローカルな時刻に加えなけ ればならない時間を指定する。 offset は、ローカルタイムゾーンが グリニッジ子午線 (Prime Meridian) の西なら正の値、東なら負の値を取る。 時間 (hour) は 0 から 24 の間でなければならない。分 (minute) と秒 (second) は 0 から 59 の間でなければならない。

2 番目の形式はサマータイムがある場合に用いられる。

    std offset dst [offset],start[/time],end[/time]

指定にはスペースを含めてはならない。最初の std と offset は上記と同じで、標準のタイムゾーンを指定する。 dst 文字列と offset は、対応するサマータイムゾーンの名前と オフセットを指定する。オフセットが省略されると、デフォルトでは標準 の一時間前となる。

start フィールドはサマータイムが有効になる時刻、 end フィー ルドは標準に戻る時刻である。これらのフィールドは以下の形式で指定する。

Jn  年の通日で日にちを指定する。 n は 1 から 365 の間の数値。うるう年 の場合でも 2 月 29 日はカウントされない。

n   年の通日で日にちを指定する。 n は 1 から 365 の間の数値。うるう年 の場合には 2 月 29 日がカウントされる。

Mm.w.d
    m は月 (1 <= m <= 12) を、 w は月のうちの週 (1 <= w <= 5) を、 d は週のうちの日にち (0 <= d <= 6) を示 す。 w = 1 は所属する d が存在する最初の週、 w = 5 は最後の週である。 d = 0 は日曜日である。

time フィールドは、ローカルタイムを切り替える時刻を、変更前のロー カルタイムで表したものである。省略された場合のデフォルトは 02:00:00 で ある。

3 番目の形式は、タイムゾーンの情報をファイルから読み込むように指定する。

    :[filespec]

ファイルの指定 filespec が省略された場合は、タイムゾーンの情報は /usr/lib/zoneinfo/localtime から読み込まれる。このファイルは tzfile(5) 形式で書かれている。 filespec が与えられた場合は、タイムゾーンの 情報をそのファイルから読み込む。このファイルも tzfile(5) 形式で書かれている必要がある。 filespec が `/' で始まらなかった場合には、システムの時刻変換情報 ディレクトリ /usr/lib/zoneinfo からの相対パスでファイルが指定さ れたことになる。

ファイル
/usr/lib/zoneinfo                システムのタイムゾーンディレクトリ
/usr/lib/zoneinfo/localtime      ローカルタイムゾーンのファイル
/usr/lib/zoneinfo/posixrules     POSIX 式の TZ 書式ルール

準拠
SVID 3, POSIX, BSD 4.3

関連項目
date(1), gettimeofday(2), time(2), ctime(3), getenv(3), tzfile(5)