ZIC

Section: Maintenance Commands (8)
索引 jman

BSD mandoc
 

索引

名称

zic - タイムゾーンコンパイラ  

索引

書式

[--version ] [-Dsv ] [-d directory ] [-g group ] [-L leapsecondfilename ] [-l localtime ] [-m mode ] [-p posixrules ] [-u user ] [-y command ] [filename ... ]  

索引

解説

ユーティリティはコマンド行で指定されたファイルを読み取り、その内容に従って 時刻変換情報のファイルを作成します。 filename- だった場合、標準入力から読み込みます。

以下のオプションがあります:

--version
バージョン情報を出力して終了します。
-D
自動的にはディレクトリを作成しません。 入力ファイルが出力先のファイルとして、 まだ存在していないディレクトリを指定していた場合には、デフォルトの動作では ディレクトリの作成を試みます。 -D が指定された場合には、 はそうせずに即座にエラーとします。
-d directory
下記の標準ディレクトリではなく、指定されたディレクトリに時刻変換情報 ファイルを作成します。
-g group
それぞれの出力ファイルを作成した後に、ファイルのグループオーナを指定された group (名前でも数字のグループ ID でも構いません) に変更します。
-L leapsecondfilename
指定された名前のファイルからうるう秒の情報を読み込みます。 このオプションが指定されなかった場合、 出力ファイルにはうるう秒の情報は記録されません。
-l timezone
指定された タイムゾーン をローカルの時刻に使用します。 ユーティリティは、以下のリンク行が入力ファイルにあった場合と同様に働きます。
Link   timezone                localtime
( Fx ではローカルタイムゾーンは /usr/share/zoneinfo/localtime でなく
/etc/localtime で指定されるので、 このアクションは何の効果も持たないことに注意してください)。
-m mode
それぞれの出力ファイルを作成した後、ファイルのアクセス権を mode に変更します。 モードは数字とアルファベットのどちらでも構いません ( chmod(1) 参照)。
-p timezone
POSIX 形式のタイムゾーンの環境変数を扱う場合に、指定されたタイムゾーンの ルールを使用します。 ユーティリティは、以下のリンク行が入力ファイルにあった場合と同様に働きます。
Link    timezone                posixrules
-u user
それぞれの出力ファイルを作成した後に、ファイルのオーナを指定された
user (名前でも数字のユーザ ID でも構いません) に変更します。
-v
データファイル中の年が time(3) で表現できる年の範囲を超えていた場合、警告します。
-s
出力ファイルに記録される時刻の値を、それが符号付きと扱われるか符号なしと 扱われるかに関係なく同じ値になるように制限します。 このオプションを使用することで SVVS と互換のファイルを生成できます。
-y command
年のタイプをチェックする際に、 yearistype の代わりに指定された command を用います(下記参照)。

入力の各行はフィールドから構成されます。 各フィールドは任意の数の空白文字により分離されます。先行する空白や、 行末の空白は無視されます。引用符で囲まれていない井桁文字 (#) から その行の末尾まではコメントとして扱われます。 空白文字や井桁文字をフィールドの一部として使用する場合は、二重引用符 (") で囲みます。 (コメントを取り除いた後の)空白行は無視されます。 空白ではない行は、ルール行、ゾーン行、リンク行の 3 種類のいずれか であるとみなされます。

ルール行は、

"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 (あるいはその短縮形)は、整数で表せる最大の年を示します。 ルールには、時刻の値として表す事ができない時刻を書くこともできますが、 表す事ができない時刻は無視されます。 これにより、時刻の値のタイプが異なるホスト間でルールを共用する事ができます。
TO
ルールが適用される最後の年を指定します。 minimummaximum (上記)に加え、 単語 only (あるいはその短縮形) を、 FROM フィールドの値を指すものとして使用することができます。
TYPE
ルールが適用される年のタイプを指定します。 TYPE- だった場合、ルールは、 FROM から TO までのその年を含む全ての年に適用されます。 TYPE がそれ以外だった場合、 は、コマンド 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 時は一日の始まりの深夜を意味し、 24時は一日の終わりの深夜を意味します。 これらの形式の最後に `w ' をつけると、指定した時刻がローカルの ``ウォールクロック'' (夏時間の適用される地域で、ローカルの標準時に、 夏時間の期間であればその修正を加えた時刻) であり、 `s ' をつけると、指定した時刻がローカルの ``標準時'' であり、 `u ' (あるいは `g ' ないし `z ' をつけると、指定した時刻が世界標準時であることを示します。 これらの文字を指定していない場合は、ウォールクロックが適用されます。

SAVE
ルールが有効な場合にローカルの標準時に加えられる量を指定します。 このフィールドの形式は AT フィールドと同じです (この場合は、末尾に `w ' と `s ' を指定する事はできません)。
LETTER/S
ルールが有効な場合にタイムゾーンの短縮形に用いられる ``変化部分'' (例えば、 ``EST'' や ``EDT'' の ``S'' や ``D'' ) を指定します。 このフィールドが - だった場合、変化部分はヌル (NULL) になります。

ゾーン行は、

"Zone   NAME    GMTOFF  RULES/SAVE      FORMAT  [UNTIL]"
と言う形式です。例えば、
"Zone   Australia/Adelaide      9:30    Aus     CST     1971 Oct 31 2:00"
となります。ゾーン行を構成するフィールドは以下の通りです:

NAME
タイムゾーンの名称です。 そのゾーンに対する時刻変換情報ファイルを作成する時の名前になります。
GMTOFF
そのゾーンの標準時を得る時に UTC に加算される量です。 このフィールドの形式は、ルール行の AT および SAVE フィールドと同じです。 UTC から時刻を引く場合は、フィールドの最初にマイナスをつけます。
RULES/SAVE
そのタイムゾーンに適用されるルールの名前、あるいは、ローカルの標準時に 加算される量を指定します。 このフィールドが - だった場合、そのタイムゾーンには常に標準時が適用されます。
FORMAT
そのタイムゾーンで使用されるタイムゾーンの短縮形の形式を指定します。 文字列 %s は、タイムゾーンの短縮形で用いられる ``変化部分'' を示します。 一方、 スラッシュ (/) で標準時の短縮形と夏時間の短縮形を指定する事もできます。
UNTIL
その場所で UTC との差あるいはルールが変化する時刻を指定します。 年、月、日、時刻を用いて指定できます。 このフィールドが指定された場合、その時刻になるまでは与えられた UTC との差 およびルールからタイムゾーンの情報が生成されます。 月、日、時刻はルールの IN, ON, AT カラムと同じ形式です。 続くカラムは省略可能で、 足りないカラムは最も早い可能な値がデフォルトとなります。

この次の行は ``継続'' 行でなくてはなりません。この行は最初の ``Zone'' と NAME フィールドがない点を除いてはゾーン行と同一の形式で、その前の行の UNTIL フィールドで指定した時刻以降の情報を指定します。 この継続行にも UNTIL フィールドを指定する事ができ、その場合は、次の行に その時刻以降の情報を指定します。

リンク行は、

"Link   LINK-FROM       LINK-TO"
と言う形式です。例えば、
"Link   Europe/Istanbul Asia/Istanbul"
となります。
LINK-FROM フィールドは、存在するゾーン行の NAME フィールドのいずれかと一致していなければなりません。 LINK-TO フィールドはそのゾーンに対する別名として使用されます。

継続行以外は、入力中での行の順番に制限はありません。

うるう秒の定義ファイルの各行は以下のような形式になります:

"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'' (またはその短縮形)となります。  

索引

ローカル時刻が複数のタイプとなる地域では、 作成されたファイルの最初の変化時刻を正しく設定するためには、 最初の変化時刻のルールの AT フィールドでローカルの標準時を使用する必要があります。  

索引

関連ファイル

/usr/share/zoneinfo
作成されたファイルが置かれる標準ディレクトリ

 

索引

関連項目

ctime(3), tzfile(5), zdump(8)


 

索引

Index

名称
書式
解説
関連ファイル
関連項目

jman



Time: 07:07:47 GMT, January 12, 2009