aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man8/zic.8
blob: 89a58087f3a5889d264dde730490db0bb62d3bef (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
.\" %FreeBSD: src/usr.sbin/zic/zic.8,v 1.11.2.3 2000/12/27 16:23:33 ru Exp %
.\"
.\" $FreeBSD$
.Dd October 29, 1997
.Dt ZIC 8
.Os
.Sh 名称
.Nm zic
.Nd タイムゾーンコンパイラ
.Sh 書式
.Nm
.Op Fl Dsv
.Op Fl d Ar directory
.Op Fl g Ar group
.Op Fl L Ar leapsecondfilename
.Op Fl l Ar localtime
.Op Fl m Ar mode
.Op Fl p Ar posixrules
.Op Fl u Ar user
.Op Fl y Ar command
.Op Ar filename ...
.Sh 解説
.Nm
はコマンド行で指定されたファイルを読み取り、その内容に従って
時刻変換情報のファイルを作成します。
.Ar filename
が
.Em -
だった場合、標準入力から読み込みます。
.Pp
以下のオプションがあります:
.Bl -tag -width indent
.It Fl D
自動的にはディレクトリを作成しません。入力ファイルが出力先のファイルとして、
まだ存在していないディレクトリを指定していた場合には、デフォルトの動作では
ディレクトリの作成を試みます。
.Fl D
が指定された場合には、
.Nm
はそうせずに即座にエラーとします。
.It Fl d Ar directory
下記の標準ディレクトリではなく、指定されたディレクトリに時刻変換情報
ファイルを作成します。
.It Fl g Ar group
それぞれの出力ファイルを作成した後に、ファイルのグループオーナを指定された
.Ar group
(名前でも数字のグループ ID でも構いません)
に変更します。
.It Fl L Ar leapsecondfilename
指定された名前のファイルからうるう秒の情報を読み込みます。
このオプションが指定されなかった場合、
出力ファイルにはうるう秒の情報は記録されません。
.It Fl l  Ar timezone
指定された
.Ar タイムゾーン
をローカルの時刻に使用します。
.Nm
は、以下のリンク行が入力ファイルにあった場合と同様に働きます。
.sp
.ti +.5i
.Bd -literal -offset indent
.No "Link	timezone		localtime
.Ed
(
.Fx
ではローカルタイムゾーンは
.Pa /usr/share/zoneinfo/localtime
でなく
.Pa /etc/localtime
で指定されるので、
このアクションは何の効果も持たないことに注意してください)。
.It Fl m Ar mode
それぞれの出力ファイルを作成した後、ファイルのアクセス権を
.Ar mode
に変更します。
モードは数字とアルファベットのどちらでも構いません (
.Xr chmod 1
参照)。
.It Fl p Ar timezone
POSIX 形式のタイムゾーンの環境変数を扱う場合に、指定されたタイムゾーンの
ルールを使用します。
.Nm
は、以下のリンク行が入力ファイルにあった場合と同様に働きます。
.Bd -literal -offset indent
.No Link	timezone		posixrules
.Ed
.It Fl u Ar user
それぞれの出力ファイルを作成した後に、ファイルのオーナを指定された
.Ar user
(名前でも数字のユーザ ID でも構いません)
に変更します。
.It Fl v
データファイル中の年が
.Xr time 3
で表現できる年の範囲を超えていた場合、警告します。
.It Fl s
出力ファイルに記録される時刻の値を、それが符号付きと扱われるか符号なしと
扱われるかに関係なく同じ値になるように制限します。
このオプションを使用することで SVVS と互換のファイルを生成できます。
.It Fl y Ar command
年のタイプをチェックする際に、
.Em yearistype
の代わりに指定された
.Ar command
を用います(下記参照)。
.El
.Pp
入力の各行はフィールドから構成されます。
各フィールドは任意の数の空白文字により分離されます。先行する空白や、
行末の空白は無視されます。引用符で囲まれていない井桁文字 (#) から
その行の末尾まではコメントとして扱われます。
空白文字や井桁文字をフィールドの一部として使用する場合は、二重引用符
(") で囲みます。
(コメントを取り除いた後の)空白行は無視されます。
空白ではない行は、ルール行、ゾーン行、リンク行の 3 種類のいずれか
であるとみなされます。
.Pp
ルール行は、
.Dl "Rule	NAME	FROM	TO	TYPE	IN	ON		AT	SAVE	LETTER/S"
と言う形式です。例えば、
.Dl "Rule	US	1967	1973	\-	Apr	lastSun	2:00	1:00	D"
.Pp
となります。ルール行を構成するフィールドは以下の通りです:
.Bl -tag -width "LETTER/S" -offset indent
.It NAME
このルールが属するルールの(任意の)名前を指定します。
.It FROM
ルールが適用される最初の年を指定します。
如何なる整数の年も指定できます。グレゴリオ歴を仮定しています。
単語
.Em minimum
(あるいはその短縮形)は、整数で表せる最小の年を示します。
単語
.Em maximum
(あるいはその短縮形)は、整数で表せる最大の年を示します。
ルールは、時刻の値として表す事ができない時刻を定義します。
表す事ができない時刻は無視されます。これにより、時刻の値のタイプが
異なるホスト間でルールを共用する事ができます。
.It TO
ルールが適用される最後の年を指定します。
.Em minimum
や
.Em maximum
(上記)に加え、
単語
.Em only
(あるいはその短縮形)
を、
.Em FROM
フィールドの値を指すものとして使用することができます。
.It TYPE
ルールが適用される年のタイプを指定します。
.Em TYPE
が
.Em \-
だった場合、ルールは、
.Em FROM
から
.Em TO
までのその年を含む全ての年に適用されます。
.Em TYPE
がそれ以外だった場合、
.Nm
は、コマンド
.Li yearistype Ar year Ar type
を実行して、年のタイプをチェックします。実行したコマンドの
終了ステータスが 0 だった場合は、その年が指定されたタイプであり、
終了ステータスが 1 だった場合は、その年が指定されたタイプではないと
判断します。
.It IN
ルールが適用される月の名前を指定します。
月名は短縮形でも構いません。
.It ON
ルールが適用される日を指定します。
指定できる形式は以下の通りです:
.Pp
.Bl -tag -width lastSun -compact -offset indent
.It \&5
その月の 5 日
.It lastSun
その月の最後の日曜日
.It lastMon
その月の最後の月曜日
.It Sun>=8
8 日以降の最初の日曜日
.It Sun<=25
25 日以前の最後の日曜日
.El
.Pp
曜日は短縮形でも、フルスペルでも構いません。注意:
.Em ON
フィールド内にスペースを含んではいけません。
.It AT
ルールが適用される時刻を指定します。
指定できる形式は以下の通りです:
.Pp
.Bl -tag -width "\&1:28:14" -offset indent -compact
.It 2
時
.It 2:00
時と分
.It 15:00
24 時間形式の時刻 (正午以降について)
.It 1:28:14
時、分、秒
.El
.Pp
ここで、0 時は一日の始まりの深夜を意味し、
24時は一日の終わりの深夜を意味します。
これらの形式の最後に
.Sq Li w
をつけると、指定した時刻がローカルの
.Dq "ウォールクロック"
(夏時間の適用される地域で、ローカルの標準時に、
夏時間の期間であればその修正を加えた時刻)
.\" 上記の()内の記述は、wall clock では、特に日本人には
.\" 理解しづらいので追加した。
.\" 2.2.2-RELEASE 対象
.\" By yugawa@orleans.rim.or.jp (Jun 16 1997)
であり、
.Sq Li s
をつけると、指定した時刻がローカルの
.Dq 標準時
であり、
.Sq Li u
(あるいは
.Sq Li g
ないし
.Sq Li z )
をつけると、指定した時刻が世界標準時であることを示します。
これらの文字を指定していない場合は、ウォールクロックが適用されます。
.It SAVE
ルールが有効な場合にローカルの標準時に加えられる量を指定します。
このフィールドの形式は
.Em AT
フィールドと同じです
(この場合は、末尾に
.Sq Li w
と
.Sq Li s
を指定する事はできません)。
.It LETTER/S
ルールが有効な場合にタイムゾーンの短縮形に用いられる
.Dq "変化部分"
(例えば、
.Dq EST
や
.Dq EDT
の
.Dq S
や
.Dq D
)
を指定します。
このフィールドが
.Em \-
だった場合、変化部分はヌル (NULL) になります。
.El
.Pp
ゾーン行は、
.Dl "Zone	NAME	GMTOFF	RULES/SAVE	FORMAT	[UNTIL]"
と言う形式です。例えば、
.Dl "Zone	Australia/Adelaide	9:30	Aus	CST	1971 Oct 31 2:00"
となります。ゾーン行を構成するフィールドは以下の通りです:
.Bl -tag -width indent
.It NAME
タイムゾーンの名称です。
そのゾーンに対する時刻変換情報ファイルを作成する時の名前になります。
.It GMTOFF
そのゾーンの標準時を得る時に UTC に加算される量です。
このフィールドの形式は、ルール行の
.Em AT
および
.Em SAVE
フィールドと同じです。
UTC から時刻を引く場合は、フィールドの最初にマイナスをつけます。
.It RULES/SAVE
そのタイムゾーンに適用されるルールの名前、あるいは、ローカルの標準時に
加算される量を指定します。
このフィールドが
.Em \-
だった場合、そのタイムゾーンには常に標準時が適用されます。
.It FORMAT
そのタイムゾーンで使用されるタイムゾーンの短縮形の形式を指定します。
文字列
.Em %s
は、タイムゾーンの短縮形で用いられる
.Dq "変化部分"
を示します。
一方、
スラッシュ (/)
で標準時の短縮形と夏時間の短縮形を指定する事もできます。
.It UNTIL
その場所で UTC との差あるいはルールが変化する時刻を指定します。
年、月、日、時刻を用いて指定できます。
このフィールドが指定された場合、その時刻になるまでは与えられた UTC との差
およびルールからタイムゾーンの情報が生成されます。
月、日、時刻はルールの IN, ON, AT カラムと同じ形式です。
続くカラムは省略可能で、
足りないカラムは最も早い可能な値がデフォルトとなります。
.Pp
この次の行は
.Dq 継続
行でなくてはなりません。この行は最初の
.Dq Zone
と NAME フィールドがない点を除いてはゾーン行と同一の形式で、その前の行の
.Em UNTIL
フィールドで指定した時刻以降の情報を指定します。
この継続行にも
.Em UNTIL
フィールドを指定する事ができ、その場合は、次の行に
その時刻以降の情報を指定します。
.El
.Pp
リンク行は、
.Dl "Link	LINK-FROM	LINK-TO"
と言う形式です。例えば、
.Dl "Link	Europe/Istanbul	Asia/Istanbul"
となります。
.Em LINK-FROM
フィールドは、存在するゾーン行の
.Em NAME
フィールドのいずれかと一致していなければなりません。
.Em LINK-TO
フィールドはそのゾーンに対する別名として使用されます。
.Pp
継続行以外は、入力中での行の順番に制限はありません。
.Pp
うるう秒の定義ファイルの各行は以下のような形式になります:
.Dl "Leap	YEAR	MONTH	DAY	HH:MM:SS	CORR	R/S"
例えば、
.Dl "Leap	1974	Dec	31	23:59:60	+	S"
となります。
.Em YEAR ,
.Em MONTH ,
.Em DAY ,
.Em HH:MM:SS
フィールドは、うるう秒が起きる時刻を指定します。
.Em CORR
フィールドは、
秒が加えられる場合は
.Dq +
で、秒がスキップされる場合は
.Dq -
となります。
.\" There's no need to document the following, since it's impossible for more
.\" than one leap second to be inserted or deleted at a time.
.\" The C Standard is in error in suggesting the possibility.
.\" See Terry J Quinn, The BIPM and the accurate measure of time,
.\" Proc IEEE 79, 7 (July 1991), 894-905.
.\"	or
.\"	.q ++
.\"	if two seconds were added
.\"	or
.\"	.q --
.\"	if two seconds were skipped.
.Em R/S
フィールドは
他のフィールドで与えられるうるう秒の時刻が UTC である場合は、
.Dq Stationary
(またはその短縮形)で、
他のフィールドで与えられるうるう秒の時刻がローカルのウォールクロックである
場合は、
.Dq Rolling
(またはその短縮形)となります。
.Sh 注
ローカル時刻が複数のタイプとなる地域では、
作成されたファイルの最初の変化時刻を正しく設定するためには、
最初の変化時刻のルールの
.Em AT
フィールドでローカルの標準時を使用する必要があります。
.Sh 関連ファイル
.Bl -tag -width /usr/share/zoneinfo -compact
.It /usr/share/zoneinfo
作成されたファイルが置かれる標準ディレクトリ
.El
.Sh 関連項目
.Xr ctime 3 ,
.Xr tzfile 5 ,
.Xr zdump 8
.\" @(#)zic.8	7.18