Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all
名前
zic - タイムゾーンコンパイラ
書式
zic [ -v ] [ -d directory ] [ -l localtime ] [ -p posixrules ] [ -L leapsecondfilename ] [ -s ] [ -y command ] [ filename ... ]
説明
zic はコマンドラインで指定されたファイル (複数指定可) からテキストを読み、 時刻変換情報 ファイルを生成する。ファイル名も読み込みテキストで指定しておく。 filename が - の場合 は、標準入力から読み込む。 以下のオプションを指定できる: -d directory 時刻変換情報ファイルを生成するディレクトリを、標準のディレクトリ (以下を参照) では なく指定したディレクトリにする。 -l timezone 指定したタイムゾーンをローカルタイムに用いる。 zic は入力に以下の書式のリンク行が含 まれているかのように振る舞う。 Link timezone localtime -p timezone POSIX 形式のタイムゾーン環境変数を扱うとき、 指定したタイムゾーンのルールを用いる。 zic は入力に以下の書式のリンク行が含まれているかのように振る舞う。 Link timezone posixrules -L leapsecondfilename 閏秒情報を与えられた名前のファイルから読み込む。 このオプションが指定されなかった場 合には、 出力ファイルには閏秒の情報は含まれない。 -v データファイルに現れる年が time(2) で表記できる範囲を越えている場合に文句を言う。 -s 出力ファイルに格納される時刻の値を、 signed で評価しても unsigned で 評価しても同じ 値になるような範囲に制限する。 このオプションを使うと SVVS 互換なファイルを生成する ことができる。 -y command 年の型のチェック (以下参照) に yearistype ではなく指定した command を用いる。 入力行はフィールドからなる。 フィールド間は、連続した任意の個数の空白文字によって区切られ る。 行頭・行末の空白文字は無視される。 クォートされていないシャープ文字 (#) が入力行に現 れた場合は、 そこから行末まではコメントとして扱われる。 空白文字やシャープ文字をダブル クォート (") で囲めば、 フィールドの一部として用いることができる。 (コメント除去処理を行っ た後のものを含めて) 空行は無視される。 空行以外の行は、 3 種類あるタイプの行のいずれかであ るとみなされる。 3 つのタイプとは、ルール行 (rule line)、ゾーン行 (zone line)、 リンク行 (link line) である。 ルール行の書式は以下のようなものである。 Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S 例: Rule US 1967 1973 - Apr lastSun 2:00 1:00 D ルール行を構成するフィールドは以下の通り: NAME このルールが所属するルールセットの名前を与える (任意)。 FROM このルールが適用される最初の年を与える。 任意の整数を年として与えることができ る。グレゴリオ暦が仮定される。 minimum (あるいはその短縮) は整数表記できる最小の年 を意味する。 maximum (あるいはその短縮) は整数表記できる最大の年を意味する。 ルー ルでは時刻値 (time value) では表記できない時刻も記述できる。 表記できない時刻は無 視される。つまりルールは 異なった時刻値の型を持つホスト間でポータブルである。 TO このルールが適用される最後の年を与える。 minimum と maximum (上述) に加え、 only (またはその短縮) を用いることができ、この場合は FROM フィールドに指定した値と同じ 値が用いられる。 TYPE ルールの適用される年のタイプを与える。 TYPE が - であれば、このルールは FROM から TO に挟まれた (両端含む) 全ての年に適用される。 TYPE がそれ以外の場合には、 zic は 以下のコマンドを実行して年のタイプをチェックする。 yearistype year type 返り値が 0 の場合は、その年は与えられたタイプに含まれ、 返り値が 1 の場合は含まれ ないことになる。 IN ルールが効力を持つ月の名前を指定する。 月名は短縮できる。 ON ルールが効力を持つ日の名前を指定する。 以下のような書式を認識する: 5 その月の第 5 日 lastSun その月の最後の日曜日 lastMon その月の最後の月曜日 Sun>=8 第 8 日以降の最初の日曜日 Sun<=25 第 25 日以前の最後の日曜日 曜日の名前は短縮できる。全部綴っても良い。 ON フィールドの内部にはスペースを入れて はいけないことに注意。 AT ルールが効力を持つ一日のうちの時刻を与える。 以下のような書式を認識する: 2 時間での表記 2:00 時間と分での表記 15:00 24 時間形式の時間 (正午以降) 1:28:14 時間・分・秒での表記 - 0 と同じ ここで 0 時はその日のはじまりであり、 24 時はその日の終わりである。 これらの書式の あとには、以下の文字のいずれかを指定することができる。 w 与えられた時刻がローカル な "壁時計 (wall clock)" 時刻である; s 与えられた時刻がローカルな "標準 (standard)" 時刻である; u (または g または z) 与えられた時刻が標準時 (universal time) である。 これらの表意文字がいずれも指定されなかった場合は、 壁時計時刻が仮定 される。 SAVE ルールが効力を持っているとき、ローカルな標準時刻に追加すべき 時間の量を与える。こ のフィールドの書式は AT フィールドのものと同じである (ただしもちろん w と s の後置 文字は用いられない)。 LETTER/S このルールが効力を持っている場合に用いられるタイムゾーン短縮型の "可変部 (variable part)" を与える (例えば "EST" や "EDT" における "S" や "D" など)。 このフィールド が - であった場合には、 可変部は存在しない。 ゾーン行の書式は以下のようなものである。 Zone NAME UTCOFF RULES/SAVE FORMAT [UNTIL] 例: Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00 ゾーン行を構成するフィールドは以下の通り: NAME タイムゾーンの名前。この名前がこのゾーンの時刻変換情報ファイルを 生成するときに用い られる。 UTCOFF このゾーンの標準時刻を得るために、 UTC に加える時間。 このフィールドの書式は、ルール 行の AT および SAVE フィールドのものと同じである。時間を UTC から引く必要がある場合 は マイナス記号を前置する。 RULES/SAVE タイムゾーンに適用されるルールの名前か、あるいは ローカル標準時刻に加えるべき時間の 量を指定する。 このフィールドが - ならば、常に標準時刻がこのゾーンに対して用いられ る。 FORMAT このタイムゾーンに対するタイムゾーン短縮名の書式。 2 文字の文字列 %s を用いて、どこ が "可変部" になるかを指定できる。あるいはスラッシュ文字 (/) を用いて 標準の短縮名と サマータイム短縮名を区切ることができる。 UNTIL UTC に対するオフセットか、その場所におけるルールが変更される時刻。 年・月・日・時刻 で指定する。 これが指定された場合には、タイムゾーンの情報は与えられている UTC オフ セットから生成され、ルールは指定時刻になると変更される。 月・日・時刻は、ルールの IN, ON, AT カラムと同じ書式で指定する。 この後に続くカラムは省略できる。 省略された カラムに対しては、 可能性のあるもののうち最も早い値がデフォルトで用いられる。 この行には必ず "継続"(continuation) 行が続く。 継続行はゾーン行と同じ書式を持つが、 "Zone" と名前は省略される。なぜなら継続行は直前の行の UNTIL フィールドで指定された時 刻以降の情報を与えるものだからである。 継続行にもゾーン行と同じように UNTIL フィール ドを指定することができ、この場合はその次の行が さらなる継続行になることとなる。 リンク行の書式は以下のようなものである。 Link LINK-FROM LINK-TO 例: Link Europe/Istanbul Asia/Istanbul LINK-FROM フィールドはゾーン行の NAME フィールドが記述される。 LINK-TO フィールドはその ゾーンの別名である。 Except for continuation lines, lines may appear in any order in the input. ファイル中で閏秒を記述する行は以下のような書式を持つ。 Leap YEAR MONTH DAY HH:MM:SS CORR R/S 例: Leap 1974 Dec 31 23:59:60 + S YEAR, MONTH, DAY, HH:MM:SS は閏秒の生じた瞬間を示す。 CORR フィールドには、秒が挿入された 場合 "+" を、秒がスキップされた場合 "-" を指定する。 R/S フィールドには、他のフィールドが 記述している閏秒の時刻が UTC ならば "Stationary" (あるいはその短縮形) を、ローカルな壁時計 時刻なら "Rolling" (あるいはその短縮形) を指定する。
ファイル
/usr/local/etc/zoneinfo 生成されたファイル用の標準ディレクトリ
注意
二つ以上のローカルタイムを持っている地域では、 ローカルな標準時を 最も早い方の時刻変換ルー ルの AT フィールドに用いる必要があるだろう。さもないと コンパイルされたファイルに記録され た最も早い変換時刻が 正しいことが保証されない。
関連項目
tzfile(5), zdump(8)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。 2010-02-25 ZIC(8)