Provided by: manpages-ja_0.5.0.0.20180315+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)