1 .\" %%%LICENSE_START(PUBLIC_DOMAIN)
2 .\" This page is in the public domain
5 .TH ZIC 8 2010-02-25 "" "Linux System Administration"
7 zic \- timezone compiler
10 .BR zic " [" \-v "] [" \-d " \fIdirectory\fP] [" \-l " \fIlocaltime\fP] [" \
11 \-p " \fIposixrules\fP]"
12 .RB " [" \-L " \fIleapsecondfilename\fP] [" \-s "] [" \-y \
13 " \fIcommand\fP] [\fIfilename\fP...]
21 \\$3\*(lq\\$1\*(rq\\$2
25 program reads text from the file(s) named on the command line
26 and creates the time conversion information files specified in this input.
31 standard input is read.
33 These options are available:
36 Create time conversion information files in the named directory rather than
37 in the standard directory named below.
40 Use the given timezone as local time.
42 will act as if the input contained a link line of the form
45 Link \fItimezone\fP localtime
48 Use the given timezone's rules when handling POSIX-format
49 timezone environment variables.
51 will act as if the input contained a link line of the form
54 Link \fItimezone\fP posixrules
56 .BI "\-L " leapsecondfilename
57 Read leap second information from the file with the given name.
58 If this option is not used,
59 no leap second information appears in output files.
62 Complain if a year that appears in a data file is outside the range
63 of years representable by
68 Limit time values stored in output files to values that are the same
69 whether they're taken to be signed or unsigned.
70 You can use this option to generate SVVS-compatible files.
77 when checking year types (see below).
79 Input lines are made up of fields.
80 Fields are separated from one another by any number of white space characters.
81 Leading and trailing white space on input lines is ignored.
82 An unquoted sharp character (#) in the input introduces a comment which extends
83 to the end of the line the sharp character appears on.
84 White space characters and sharp characters may be enclosed in double quotes
85 (") if they're to be used as part of a field.
86 Any line that is blank (after comment stripping) is ignored.
87 Nonblank lines are expected to be of one of three types:
88 rule lines, zone lines, and link lines.
90 A rule line has the form
93 .ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'TYPE\0\0'u +\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u
95 Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
100 Rule US 1967 1973 \- Apr lastSun 2:00 1:00 D
103 The fields that make up a rule line are:
106 Gives the (arbitrary) name of the set of rules this rule is part of.
109 Gives the first year in which the rule applies.
110 Any integer year can be supplied; the Gregorian calendar is assumed.
113 (or an abbreviation) means the minimum year representable as an integer.
116 (or an abbreviation) means the maximum year representable as an integer.
117 Rules can describe times that are not representable as time values,
118 with the unrepresentable times ignored; this allows rules to be portable
119 among hosts with differing time value types.
122 Gives the final year in which the rule applies.
131 may be used to repeat the value of the
136 Gives the type of year in which the rule applies.
141 then the rule applies in all years between
148 is something else, then
156 to check the type of a year:
157 an exit status of zero is taken to mean that the year is of the given type;
158 an exit status of one is taken to mean that the year is not of the given type.
161 Names the month in which the rule takes effect.
162 Month names may be abbreviated.
165 Gives the day on which the rule takes effect.
166 Recognized forms include:
171 5 the fifth of the month
172 lastSun the last Sunday in the month
173 lastMon the last Monday in the month
174 Sun>=8 first Sunday on or after the eighth
175 Sun<=25 last Sunday on or before the 25th
179 Names of days of the week may be abbreviated or spelled out in full.
180 Note that there must be no spaces within the
185 Gives the time of day at which the rule takes effect.
186 Recognized forms include:
192 2:00 time in hours and minutes
193 15:00 24-hour format time (for times after noon)
194 1:28:14 time in hours, minutes, and seconds
199 where hour 0 is midnight at the start of the day,
200 and hour 24 is midnight at the end of the day.
201 Any of these forms may be followed by the letter
203 if the given time is local
207 if the given time is local
215 if the given time is universal time;
216 in the absence of an indicator,
217 wall clock time is assumed.
220 Gives the amount of time to be added to local standard time when the rule is in
222 This field has the same format as the
225 (although, of course, the
229 suffixes are not used).
242 of timezone abbreviations to be used when this rule is in effect.
245 the variable part is null.
247 A zone line has the form
251 .ta \w'Zone\0\0'u +\w'Australia/Adelaide\0\0'u +\w'UTCOFF\0\0'u +\w'RULES/SAVE\0\0'u +\w'FORMAT\0\0'u
252 Zone NAME UTCOFF RULES/SAVE FORMAT [UNTIL]
257 Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00
260 The fields that make up a zone line are:
263 The name of the timezone.
264 This is the name used in creating the time conversion information file for the
268 The amount of time to add to UTC to get standard time in this zone.
269 This field has the same format as the
273 fields of rule lines;
274 begin the field with a minus sign if time must be subtracted from UTC.
277 The name of the rule(s) that apply in the timezone or,
278 alternately, an amount of time to add to local standard time.
281 then standard time always applies in the timezone.
284 The format for timezone abbreviations in this timezone.
285 The pair of characters
287 is used to show where the
289 of the timezone abbreviation goes.
292 separates standard and daylight abbreviations.
295 The time at which the UTC offset or the rule(s) change for a location.
296 It is specified as a year, a month, a day, and a time of day.
297 If this is specified,
298 the timezone information is generated from the given UTC offset
299 and rule change until the time specified.
300 The month, day, and time of day have the same format as the IN, ON, and AT
301 columns of a rule; trailing columns can be omitted, and default to the
302 earliest possible value for the missing columns.
304 The next line must be a
306 line; this has the same form as a zone line except that the
309 and the name are omitted, as the continuation line will
310 place information starting at the time specified as the
312 field in the previous line in the file used by the previous line.
313 Continuation lines may contain an
315 field, just as zone lines do, indicating that the next line is a further
318 A link line has the form
322 .ta \w'Link\0\0'u +\w'Europe/Istanbul\0\0'u
323 Link LINK-FROM LINK-TO
328 Link Europe/Istanbul Asia/Istanbul
333 field should appear as the
335 field in some zone line;
338 field is used as an alternate name for that zone.
340 Except for continuation lines,
341 lines may appear in any order in the input.
343 Lines in the file that describes leap seconds have the following form:
346 .ta \w'Leap\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u +\w'HH:MM:SS\0\0'u +\w'CORR\0\0'u
348 Leap YEAR MONTH DAY HH:MM:SS CORR R/S
353 Leap 1974 Dec 31 23:59:60 + S
362 fields tell when the leap second happened.
368 if a second was added
371 if a second was skipped.
372 .\" There's no need to document the following, since it's impossible for more
373 .\" than one leap second to be inserted or deleted at a time.
374 .\" The C Standard is in error in suggesting the possibility.
375 .\" See Terry J Quinn, The BIPM and the accurate measure of time,
376 .\" Proc IEEE 79, 7 (July 1991), 894-905.
379 .\" if two seconds were added
382 .\" if two seconds were skipped.
386 should be (an abbreviation of)
388 if the leap second time given by the other fields should be interpreted as UTC
392 if the leap second time given by the other fields should be interpreted as
393 local wall clock time.
396 .I /usr/local/etc/zoneinfo
397 Standard directory used for created files.
399 For areas with more than two types of local time,
400 you may need to use local standard time in the
402 field of the earliest transition time's rule to ensure that
403 the earliest transition time recorded in the compiled file is correct.