aboutsummaryrefslogtreecommitdiff
path: root/zic.8.txt
diff options
context:
space:
mode:
Diffstat (limited to 'zic.8.txt')
-rw-r--r--zic.8.txt796
1 files changed, 494 insertions, 302 deletions
diff --git a/zic.8.txt b/zic.8.txt
index 1feada21482b..854ca579995d 100644
--- a/zic.8.txt
+++ b/zic.8.txt
@@ -1,313 +1,505 @@
-NAME
+ZIC(8) System Manager's Manual ZIC(8)
- zic - time zone compiler
+NAME
+ zic - timezone compiler
SYNOPSIS
- zic [ --version ] [ -v ] [ -d directory ] [ -l localtime ] [
- -p posixrules ] [ -L leapsecondfilename ] [ -s ] [ -y
- command ] [ filename ... ]
+ zic [ option ... ] [ filename ... ]
DESCRIPTION
- Zic reads text from the file(s) named on the command line
- and creates the time conversion information files specified
- in this input. If a filename is -, the standard input is
- read.
-
- These options are available:
-
- --version
- Output version information and exit.
-
- -d directory
- Create time conversion information files in the named
- directory rather than in the standard directory named
- below.
-
- -l timezone
- Use the given time zone as local time. Zic will act as
- if the input contained a link line of the form
-
- Link timezone localtime
-
- -p timezone
- Use the given time zone's rules when handling POSIX-
- format time zone environment variables. Zic will act
- as if the input contained a link line of the form
-
- Link timezone posixrules
-
- -L leapsecondfilename
- Read leap second information from the file with the
- given name. If this option is not used, no leap second
- information appears in output files.
-
- -v Complain if a year that appears in a data file is
- outside the range of years representable by time(2)
- values. Also complain if a time of 24:00 (which cannot
- be handled by pre-1998 versions of zic) appears in the
- input.
-
- -s Limit time values stored in output files to values that
- are the same whether they're taken to be signed or
- unsigned. You can use this option to generate SVVS-
- compatible files.
-
- -y command
- Use the given command rather than yearistype when
- checking year types (see below).
-
- Input lines are made up of fields. Fields are separated
- from one another by any number of white space characters.
- Leading and trailing white space on input lines is ignored.
- An unquoted sharp character (#) in the input introduces a
- comment which extends to the end of the line the sharp
- character appears on. White space characters and sharp
- characters may be enclosed in double quotes (") if they're
- to be used as part of a field. Any line that is blank
- (after comment stripping) is ignored. Non-blank lines are
- expected to be of one of three types: rule lines, zone
- lines, and link lines.
-
- Names (such as month names) must be in English and are case
- insensitive. Abbreviations, if used, must be unambiguous in
- context.
-
- A rule line has the form
-
- Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-
- For example:
-
- Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
-
- The fields that make up a rule line are:
-
- NAME Gives the (arbitrary) name of the set of rules this
- rule is part of.
-
- FROM Gives the first year in which the rule applies. Any
- integer year can be supplied; the Gregorian calendar
- is assumed. The word minimum (or an abbreviation)
- means the minimum year representable as an integer.
- The word maximum (or an abbreviation) means the
- maximum year representable as an integer. Rules can
- describe times that are not representable as time
- values, with the unrepresentable times ignored; this
- allows rules to be portable among hosts with
- differing time value types.
-
- TO Gives the final year in which the rule applies. In
- addition to minimum and maximum (as above), the word
- only (or an abbreviation) may be used to repeat the
- value of the FROM field.
-
- TYPE Gives the type of year in which the rule applies.
- If TYPE is - then the rule applies in all years
- between FROM and TO inclusive. If TYPE is something
- else, then zic executes the command
- yearistype year type
- to check the type of a year: an exit status of zero
- is taken to mean that the year is of the given type;
- an exit status of one is taken to mean that the year
- is not of the given type.
-
- IN Names the month in which the rule takes effect.
- Month names may be abbreviated.
-
- ON Gives the day on which the rule takes effect.
- Recognized forms include:
-
- 5 the fifth of the month
- lastSun the last Sunday in the month
- lastMon the last Monday in the month
- Sun>=8 first Sunday on or after the eighth
- Sun<=25 last Sunday on or before the 25th
-
- Names of days of the week may be abbreviated or
- spelled out in full. Note that there must be no
- spaces within the ON field.
-
- AT Gives the time of day at which the rule takes
- effect. Recognized forms include:
-
- 2 time in hours
- 2:00 time in hours and minutes
- 15:00 24-hour format time (for times after noon)
- 1:28:14 time in hours, minutes, and seconds
- - equivalent to 0
-
- where hour 0 is midnight at the start of the day,
- and hour 24 is midnight at the end of the day. Any
- of these forms may be followed by the letter w if
- the given time is local "wall clock" time, s if the
- given time is local "standard" time, or u (or g or
- z) if the given time is universal time; in the
- absence of an indicator, wall clock time is assumed.
-
- SAVE Gives the amount of time to be added to local
- standard time when the rule is in effect. This
- field has the same format as the AT field (although,
- of course, the w and s suffixes are not used).
-
- LETTER/S
- Gives the "variable part" (for example, the "S" or
- "D" in "EST" or "EDT") of time zone abbreviations to
- be used when this rule is in effect. If this field
- is -, the variable part is null.
-
- A zone line has the form
-
- Zone NAME GMTOFF RULES/SAVE FORMAT [UNTILYEAR [MONTH [DAY [TIME]]]]
-
- For example:
-
- Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00
-
- The fields that make up a zone line are:
-
- NAME The name of the time zone. This is the name used in
- creating the time conversion information file for the
- zone.
-
- GMTOFF
- The amount of time to add to UTC to get standard time
- in this zone. This field has the same format as the
- AT and SAVE fields of rule lines; begin the field with
- a minus sign if time must be subtracted from UTC.
-
- RULES/SAVE
- The name of the rule(s) that apply in the time zone
- or, alternately, an amount of time to add to local
- standard time. If this field is - then standard time
- always applies in the time zone.
-
- FORMAT
- The format for time zone abbreviations in this time
- zone. The pair of characters %s is used to show where
- the "variable part" of the time zone abbreviation
- goes. Alternately, a slash (/) separates standard and
- daylight abbreviations.
-
- UNTILYEAR [MONTH [DAY [TIME]]]
- The time at which the UTC offset or the rule(s) change
- for a location. It is specified as a year, a month, a
- day, and a time of day. If this is specified, the
- time zone information is generated from the given UTC
- offset and rule change until the time specified. The
- month, day, and time of day have the same format as
- the IN, ON, and AT fields of a rule; trailing fields
- can be omitted, and default to the earliest possible
- value for the missing fields.
-
- The next line must be a "continuation" line; this has
- the same form as a zone line except that the string
- "Zone" and the name are omitted, as the continuation
- line will place information starting at the time
- specified as the "until" information in the previous
- line in the file used by the previous line.
- Continuation lines may contain "until" information,
- just as zone lines do, indicating that the next line
- is a further continuation.
-
- A link line has the form
-
- Link LINK-FROM LINK-TO
-
- For example:
-
- Link Europe/Istanbul Asia/Istanbul
-
- The LINK-FROM field should appear as the NAME field in some
- zone line; the LINK-TO field is used as an alternate name
- for that zone.
-
- Except for continuation lines, lines may appear in any order
- in the input.
-
- Lines in the file that describes leap seconds have the
- following form:
-
- Leap YEAR MONTH DAY HH:MM:SS CORR R/S
-
- For example:
-
- Leap 1974 Dec 31 23:59:60 + S
-
- The YEAR, MONTH, DAY, and HH:MM:SS fields tell when the leap
- second happened. The CORR field should be "+" if a second
- was added or "-" if a second was skipped. The R/S field
- should be (an abbreviation of) "Stationary" if the leap
- second time given by the other fields should be interpreted
- as UTC or (an abbreviation of) "Rolling" if the leap second
- time given by the other fields should be interpreted as
- local wall clock time.
+ The zic program reads text from the file(s) named on the command line
+ and creates the timezone information format (TZif) files specified in
+ this input. If a filename is "-", standard input is read.
+
+OPTIONS
+ --version
+ Output version information and exit.
+
+ --help Output short usage message and exit.
+
+ -b bloat
+ Output backward-compatibility data as specified by bloat. If
+ bloat is fat, generate additional data entries that work around
+ potential bugs or incompatibilities in older software, such as
+ software that mishandles the 64-bit generated data. If bloat is
+ slim, keep the output files small; this can help check for the
+ bugs and incompatibilities. The default is slim, as software
+ that mishandles 64-bit data typically mishandles timestamps
+ after the year 2038 anyway. Also see the -r option for another
+ way to alter output size.
+
+ -d directory
+ Create time conversion information files in the named directory
+ rather than in the standard directory named below.
+
+ -l timezone
+ Use timezone as local time. zic will act as if the input
+ contained a link line of the form
+
+ Link timezone localtime
+
+ If timezone is -, any already-existing link is removed.
+
+ -L leapsecondfilename
+ Read leap second information from the file with the given name.
+ If this option is not used, no leap second information appears
+ in output files.
+
+ -p timezone
+ Use timezone's rules when handling nonstandard TZ strings like
+ "EET-2EEST" that lack transition rules. zic will act as if the
+ input contained a link line of the form
+
+ Link timezone posixrules
+
+ This feature is obsolete and poorly supported. Among other
+ things it should not be used for timestamps after the year 2037,
+ and it should not be combined with -b slim if timezone's
+ transitions are at standard time or Universal Time (UT) instead
+ of local time.
+
+ If timezone is -, any already-existing link is removed.
+
+ -r [@lo][/@hi]
+ Limit the applicability of output files to timestamps in the
+ range from lo (inclusive) to hi (exclusive), where lo and hi are
+ possibly-signed decimal counts of seconds since the Epoch
+ (1970-01-01 00:00:00 UTC). Omitted counts default to extreme
+ values. The output files use UT offset 0 and abbreviation "-00"
+ in place of the omitted timestamp data. For example, "zic -r
+ @0" omits data intended for negative timestamps (i.e., before
+ the Epoch), and "zic -r @0/@2147483648" outputs data intended
+ only for nonnegative timestamps that fit into 31-bit signed
+ integers. On platforms with GNU date, "zic -r @$(date +%s)"
+ omits data intended for past timestamps. Although this option
+ typically reduces the output file's size, the size can increase
+ due to the need to represent the timestamp range boundaries,
+ particularly if hi causes a TZif file to contain explicit
+ entries for pre-hi transitions rather than concisely
+ representing them with an extended POSIX TZ string. Also see
+ the -b slim option for another way to shrink output size.
+
+ -R @hi Generate redundant trailing explicit transitions for timestamps
+ that occur less than hi seconds since the Epoch, even though the
+ transitions could be more concisely represented via the extended
+ POSIX TZ string. This option does not affect the represented
+ timestamps. Although it accommodates nonstandard TZif readers
+ that ignore the extended POSIX TZ string, it increases the size
+ of the altered output files.
+
+ -t file
+ When creating local time information, put the configuration link
+ in the named file rather than in the standard location.
+
+ -v Be more verbose, and complain about the following situations:
+
+ The input specifies a link to a link.
+
+ A year that appears in a data file is outside the range of
+ representable years.
+
+ A time of 24:00 or more appears in the input. Pre-1998 versions
+ of zic prohibit 24:00, and pre-2007 versions prohibit times
+ greater than 24:00.
+
+ A rule goes past the start or end of the month. Pre-2004
+ versions of zic prohibit this.
+
+ A time zone abbreviation uses a %z format. Pre-2015 versions of
+ zic do not support this.
+
+ A timestamp contains fractional seconds. Pre-2018 versions of
+ zic do not support this.
+
+ The input contains abbreviations that are mishandled by pre-2018
+ versions of zic due to a longstanding coding bug. These
+ abbreviations include "L" for "Link", "mi" for "min", "Sa" for
+ "Sat", and "Su" for "Sun".
+
+ The output file does not contain all the information about the
+ long-term future of a timezone, because the future cannot be
+ summarized as an extended POSIX TZ string. For example, as of
+ 2019 this problem occurs for Iran's daylight-saving rules for
+ the predicted future, as these rules are based on the Iranian
+ calendar, which cannot be represented.
+
+ The output contains data that may not be handled properly by
+ client code designed for older zic output formats. These
+ compatibility issues affect only timestamps before 1970 or after
+ the start of 2038.
+
+ The output contains a truncated leap second table, which can
+ cause some older TZif readers to misbehave. This can occur if
+ the -L option is used, and either an Expires line is present or
+ the -r option is also used.
+
+ The output file contains more than 1200 transitions, which may
+ be mishandled by some clients. The current reference client
+ supports at most 2000 transitions; pre-2014 versions of the
+ reference client support at most 1200 transitions.
+
+ A time zone abbreviation has fewer than 3 or more than 6
+ characters. POSIX requires at least 3, and requires
+ implementations to support at least 6.
+
+ An output file name contains a byte that is not an ASCII letter,
+ "-", "/", or "_"; or it contains a file name component that
+ contains more than 14 bytes or that starts with "-".
+
+FILES
+ Input files use the format described in this section; output files use
+ tzfile(5) format.
+
+ Input files should be text files, that is, they should be a series of
+ zero or more lines, each ending in a newline byte and containing at
+ most 2048 bytes counting the newline, and without any NUL bytes. The
+ input text's encoding is typically UTF-8 or ASCII; it should have a
+ unibyte representation for the POSIX Portable Character Set (PPCS)
+ <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap06
+ .html> and the encoding's non-unibyte characters should consist
+ entirely of non-PPCS bytes. Non-PPCS characters typically occur only
+ in comments: although output file names and time zone abbreviations can
+ contain nearly any character, other software will work better if these
+ are limited to the restricted syntax described under the -v option.
+
+ Input lines are made up of fields. Fields are separated from one
+ another by one or more white space characters. The white space
+ characters are space, form feed, carriage return, newline, tab, and
+ vertical tab. Leading and trailing white space on input lines is
+ ignored. An unquoted sharp character (#) in the input introduces a
+ comment which extends to the end of the line the sharp character
+ appears on. White space characters and sharp characters may be
+ enclosed in double quotes (") if they're to be used as part of a field.
+ Any line that is blank (after comment stripping) is ignored. Nonblank
+ lines are expected to be of one of three types: rule lines, zone lines,
+ and link lines.
+
+ Names must be in English and are case insensitive. They appear in
+ several contexts, and include month and weekday names and keywords such
+ as maximum, only, Rolling, and Zone. A name can be abbreviated by
+ omitting all but an initial prefix; any abbreviation must be
+ unambiguous in context.
+
+ A rule line has the form
+
+ Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+
+ For example:
+
+ Rule US 1967 1973 - Apr lastSun 2:00w 1:00d D
+
+ The fields that make up a rule line are:
+
+ NAME Gives the name of the rule set that contains this line. The
+ name must start with a character that is neither an ASCII digit
+ nor "-" nor "+". To allow for future extensions, an unquoted
+ name should not contain characters from the set
+ "!$%&'()*,/:;<=>?@[\]^`{|}~".
+
+ FROM Gives the first year in which the rule applies. Any signed
+ integer year can be supplied; the proleptic Gregorian calendar
+ is assumed, with year 0 preceding year 1. The word minimum (or
+ an abbreviation) means the indefinite past. The word maximum
+ (or an abbreviation) means the indefinite future. Rules can
+ describe times that are not representable as time values, with
+ the unrepresentable times ignored; this allows rules to be
+ portable among hosts with differing time value types.
+
+ TO Gives the final year in which the rule applies. In addition to
+ minimum and maximum (as above), the word only (or an
+ abbreviation) may be used to repeat the value of the FROM
+ field.
+
+ - Is a reserved field and should always contain "-" for
+ compatibility with older versions of zic. It was previously
+ known as the TYPE field, which could contain values to allow a
+ separate script to further restrict in which "types" of years
+ the rule would apply.
+
+ IN Names the month in which the rule takes effect. Month names
+ may be abbreviated.
+
+ ON Gives the day on which the rule takes effect. Recognized forms
+ include:
+
+ 5 the fifth of the month
+ lastSun the last Sunday in the month
+ lastMon the last Monday in the month
+ Sun>=8 first Sunday on or after the eighth
+ Sun<=25 last Sunday on or before the 25th
+
+ A weekday name (e.g., Sunday) or a weekday name preceded by
+ "last" (e.g., lastSunday) may be abbreviated or spelled out in
+ full. There must be no white space characters within the ON
+ field. The "<=" and ">=" constructs can result in a day in the
+ neighboring month; for example, the IN-ON combination "Oct
+ Sun>=31" stands for the first Sunday on or after October 31,
+ even if that Sunday occurs in November.
+
+ AT Gives the time of day at which the rule takes effect, relative
+ to 00:00, the start of a calendar day. Recognized forms
+ include:
+
+ 2 time in hours
+ 2:00 time in hours and minutes
+ 01:28:14 time in hours, minutes, and seconds
+ 00:19:32.13 time with fractional seconds
+ 12:00 midday, 12 hours after 00:00
+ 15:00 3 PM, 15 hours after 00:00
+ 24:00 end of day, 24 hours after 00:00
+ 260:00 260 hours after 00:00
+ -2:30 2.5 hours before 00:00
+ - equivalent to 0
+
+ Although zic rounds times to the nearest integer second
+ (breaking ties to the even integer), the fractions may be
+ useful to other applications requiring greater precision. The
+ source format does not specify any maximum precision. Any of
+ these forms may be followed by the letter w if the given time
+ is local or "wall clock" time, s if the given time is standard
+ time without any adjustment for daylight saving, or u (or g or
+ z) if the given time is universal time; in the absence of an
+ indicator, local (wall clock) time is assumed. These forms
+ ignore leap seconds; for example, if a leap second occurs at
+ 00:59:60 local time, "1:00" stands for 3601 seconds after local
+ midnight instead of the usual 3600 seconds. The intent is that
+ a rule line describes the instants when a clock/calendar set to
+ the type of time specified in the AT field would show the
+ specified date and time of day.
+
+ SAVE Gives the amount of time to be added to local standard time
+ when the rule is in effect, and whether the resulting time is
+ standard or daylight saving. This field has the same format as
+ the AT field except with a different set of suffix letters: s
+ for standard time and d for daylight saving time. The suffix
+ letter is typically omitted, and defaults to s if the offset is
+ zero and to d otherwise. Negative offsets are allowed; in
+ Ireland, for example, daylight saving time is observed in
+ winter and has a negative offset relative to Irish Standard
+ Time. The offset is merely added to standard time; for
+ example, zic does not distinguish a 10:30 standard time plus an
+ 0:30 SAVE from a 10:00 standard time plus a 1:00 SAVE.
+
+ LETTER/S
+ Gives the "variable part" (for example, the "S" or "D" in "EST"
+ or "EDT") of time zone abbreviations to be used when this rule
+ is in effect. If this field is "-", the variable part is null.
+
+ A zone line has the form
+
+ Zone NAME STDOFF RULES FORMAT [UNTIL]
+
+ For example:
+
+ Zone Asia/Amman 2:00 Jordan EE%sT 2017 Oct 27 01:00
+
+ The fields that make up a zone line are:
+
+ NAME The name of the timezone. This is the name used in creating the
+ time conversion information file for the timezone. It should not
+ contain a file name component "." or ".."; a file name component
+ is a maximal substring that does not contain "/".
+
+ STDOFF
+ The amount of time to add to UT to get standard time, without any
+ adjustment for daylight saving. This field has the same format
+ as the AT and SAVE fields of rule lines, except without suffix
+ letters; begin the field with a minus sign if time must be
+ subtracted from UT.
+
+ RULES The name of the rules that apply in the timezone or,
+ alternatively, a field in the same format as a rule-line SAVE
+ column, giving the amount of time to be added to local standard
+ time and whether the resulting time is standard or daylight
+ saving. If this field is - then standard time always applies.
+ When an amount of time is given, only the sum of standard time
+ and this amount matters.
+
+ FORMAT
+ The format for time zone abbreviations. The pair of characters
+ %s is used to show where the "variable part" of the time zone
+ abbreviation goes. Alternatively, a format can use the pair of
+ characters %z to stand for the UT offset in the form +-hh,
+ +-hhmm, or +-hhmmss, using the shortest form that does not lose
+ information, where hh, mm, and ss are the hours, minutes, and
+ seconds east (+) or west (-) of UT. Alternatively, a slash (/)
+ separates standard and daylight abbreviations. To conform to
+ POSIX, a time zone abbreviation should contain only alphanumeric
+ ASCII characters, "+" and "-". By convention, the time zone
+ abbreviation "-00" is a placeholder that means local time is
+ unspecified.
+
+ UNTIL The time at which the UT offset or the rule(s) change for a
+ location. It takes the form of one to four fields YEAR [MONTH
+ [DAY [TIME]]]. If this is specified, the time zone information
+ is generated from the given UT offset and rule change until the
+ time specified, which is interpreted using the rules in effect
+ just before the transition. The month, day, and time of day have
+ the same format as the IN, ON, and AT fields of a rule; trailing
+ fields can be omitted, and default to the earliest possible value
+ for the missing fields.
+
+ The next line must be a "continuation" line; this has the same
+ form as a zone line except that the string "Zone" and the name
+ are omitted, as the continuation line will place information
+ starting at the time specified as the "until" information in the
+ previous line in the file used by the previous line.
+ Continuation lines may contain "until" information, just as zone
+ lines do, indicating that the next line is a further
+ continuation.
+
+ If a zone changes at the same instant that a rule would otherwise take
+ effect in the earlier zone or continuation line, the rule is ignored.
+ A zone or continuation line L with a named rule set starts with
+ standard time by default: that is, any of L's timestamps preceding L's
+ earliest rule use the rule in effect after L's first transition into
+ standard time. In a single zone it is an error if two rules take
+ effect at the same instant, or if two zone changes take effect at the
+ same instant.
+
+ If a continuation line subtracts N seconds from the UT offset after a
+ transition that would be interpreted to be later if using the
+ continuation line's UT offset and rules, the "until" time of the
+ previous zone or continuation line is interpreted according to the
+ continuation line's UT offset and rules, and any rule that would
+ otherwise take effect in the next N seconds is instead assumed to take
+ effect simultaneously. For example:
+
+ # Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+ Rule US 1967 2006 - Oct lastSun 2:00 0 S
+ Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone America/Menominee -5:00 - EST 1973 Apr 29 2:00
+ -6:00 US C%sT
+
+ Here, an incorrect reading would be there were two clock changes on
+ 1973-04-29, the first from 02:00 EST (-05) to 01:00 CST (-06), and the
+ second an hour later from 02:00 CST (-06) to 03:00 CDT (-05). However,
+ zic interprets this more sensibly as a single transition from 02:00 CST
+ (-05) to 02:00 CDT (-05).
+
+ A link line has the form
+
+ Link TARGET LINK-NAME
+
+ For example:
+
+ Link Europe/Istanbul Asia/Istanbul
+
+ The TARGET field should appear as the NAME field in some zone line.
+ The LINK-NAME field is used as an alternative name for that zone; it
+ has the same syntax as a zone line's NAME field.
+
+ Except for continuation lines, lines may appear in any order in the
+ input. However, the behavior is unspecified if multiple zone or link
+ lines define the same name, or if the source of one link line is the
+ target of another.
+
+ The file that describes leap seconds can have leap lines and an
+ expiration line. Leap lines have the following form:
+
+ Leap YEAR MONTH DAY HH:MM:SS CORR R/S
+
+ For example:
+
+ Leap 2016 Dec 31 23:59:60 + S
+
+ The YEAR, MONTH, DAY, and HH:MM:SS fields tell when the leap second
+ happened. The CORR field should be "+" if a second was added or "-" if
+ a second was skipped. The R/S field should be (an abbreviation of)
+ "Stationary" if the leap second time given by the other fields should
+ be interpreted as UTC or (an abbreviation of) "Rolling" if the leap
+ second time given by the other fields should be interpreted as local
+ (wall clock) time.
+
+ Rolling leap seconds were implemented back when it was not clear
+ whether common practice was rolling or stationary, with concerns that
+ one would see Times Square ball drops where there'd be a "3... 2...
+ 1... leap... Happy New Year" countdown, placing the leap second at
+ midnight New York time rather than midnight UTC. However, this
+ countdown style does not seem to have caught on, which means rolling
+ leap seconds are not used in practice; also, they are not supported if
+ the -r option is used.
+
+ The expiration line, if present, has the form:
+
+ Expires YEAR MONTH DAY HH:MM:SS
+
+ For example:
+
+ Expires 2020 Dec 28 00:00:00
+
+ The YEAR, MONTH, DAY, and HH:MM:SS fields give the expiration timestamp
+ in UTC for the leap second table.
EXTENDED EXAMPLE
- Here is an extended example of zic input, intended to
- illustrate many of its features.
-
- # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
- Rule Swiss 1940 only - Nov 2 0:00 1:00 S
- Rule Swiss 1940 only - Dec 31 0:00 0 -
- Rule Swiss 1941 1942 - May Sun>=1 2:00 1:00 S
- Rule Swiss 1941 1942 - Oct Sun>=1 0:00 0
- Rule EU 1977 1980 - Apr Sun>=1 1:00u 1:00 S
- Rule EU 1977 only - Sep lastSun 1:00u 0 -
- Rule EU 1978 only - Oct 1 1:00u 0 -
- Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
- Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
- Rule EU 1996 max - Oct lastSun 1:00u 0 -
-
- # Zone NAME GMTOFF RULES FORMAT UNTIL
- Zone Europe/Zurich 0:34:08 - LMT 1848 Sep 12
- 0:29:44 - BMT 1894 Jun
- 1:00 Swiss CE%sT 1981
- 1:00 EU CE%sT
-
- Link Europe/Zurich Switzerland
-
- In this example, the zone is named Europe/Zurich but it has
- an alias as Switzerland. Zurich was 34 minutes and 8
- seconds west of GMT until 1848-09-12 at 00:00, when the
- offset changed to 29 minutes and 44 seconds. After
- 1894-06-01 at 00:00 Swiss daylight saving rules (defined
- with lines beginning with "Rule Swiss") apply, and the GMT
- offset became one hour. From 1981 to the present, EU
- daylight saving rules have applied, and the UTC offset has
- remained at one hour.
-
- In 1940, daylight saving time applied from November 2 at
- 00:00 to December 31 at 00:00. In 1941 and 1942, daylight
- saving time applied from the first Sunday in May at 02:00 to
- the first Sunday in October at 00:00. The pre-1981 EU
- daylight-saving rules have no effect here, but are included
- for completeness. Since 1981, daylight saving has begun on
- the last Sunday in March at 01:00 UTC. Until 1995 it ended
- the last Sunday in September at 01:00 UTC, but this changed
- to the last Sunday in October starting in 1996.
-
- For purposes of display, "LMT" and "BMT" were initially
- used, respectively. Since Swiss rules and later EU rules
- were applied, the display name for the timezone has been CET
- for standard time and CEST for daylight saving time.
+ Here is an extended example of zic input, intended to illustrate many
+ of its features.
+
+ # Rule NAME FROM TO - IN ON AT SAVE LETTER/S
+ Rule Swiss 1941 1942 - May Mon>=1 1:00 1:00 S
+ Rule Swiss 1941 1942 - Oct Mon>=1 2:00 0 -
+ Rule EU 1977 1980 - Apr Sun>=1 1:00u 1:00 S
+ Rule EU 1977 only - Sep lastSun 1:00u 0 -
+ Rule EU 1978 only - Oct 1 1:00u 0 -
+ Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
+ Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
+ Rule EU 1996 max - Oct lastSun 1:00u 0 -
+
+ # Zone NAME STDOFF RULES FORMAT [UNTIL]
+ Zone Europe/Zurich 0:34:08 - LMT 1853 Jul 16
+ 0:29:45.50 - BMT 1894 Jun
+ 1:00 Swiss CE%sT 1981
+ 1:00 EU CE%sT
+
+ Link Europe/Zurich Europe/Vaduz
+
+ In this example, the EU rules are for the European Union and for its
+ predecessor organization, the European Communities. The timezone is
+ named Europe/Zurich and it has the alias Europe/Vaduz. This example
+ says that Zurich was 34 minutes and 8 seconds east of UT until
+ 1853-07-16 at 00:00, when the legal offset was changed to 7 degrees 26
+ minutes 22.50 seconds, which works out to 0:29:45.50; zic treats this
+ by rounding it to 0:29:46. After 1894-06-01 at 00:00 the UT offset
+ became one hour and Swiss daylight saving rules (defined with lines
+ beginning with "Rule Swiss") apply. From 1981 to the present, EU
+ daylight saving rules have applied, and the UTC offset has remained at
+ one hour.
+
+ In 1941 and 1942, daylight saving time applied from the first Monday in
+ May at 01:00 to the first Monday in October at 02:00. The pre-1981 EU
+ daylight-saving rules have no effect here, but are included for
+ completeness. Since 1981, daylight saving has begun on the last Sunday
+ in March at 01:00 UTC. Until 1995 it ended the last Sunday in
+ September at 01:00 UTC, but this changed to the last Sunday in October
+ starting in 1996.
+
+ For purposes of display, "LMT" and "BMT" were initially used,
+ respectively. Since Swiss rules and later EU rules were applied, the
+ time zone abbreviation has been CET for standard time and CEST for
+ daylight saving time.
+
+FILES
+ /etc/localtime
+ Default local timezone file.
+
+ /usr/share/zoneinfo
+ Default timezone information directory.
NOTES
- For areas with more than two types of local time, you may
- need to use local standard time in the AT field of the
- earliest transition time's rule to ensure that the earliest
- transition time recorded in the compiled file is correct.
-
- If, for a particular zone, a clock advance caused by the
- start of daylight saving coincides with and is equal to a
- clock retreat caused by a change in UTC offset, zic produces
- a single transition to daylight saving at the new UTC offset
- (without any change in wall clock time). To get separate
- transitions use multiple zone continuation lines specifying
- transition instants using universal time.
-
-FILE
- /usr/local/etc/zoneinfo standard directory used for
- created files
+ For areas with more than two types of local time, you may need to use
+ local standard time in the AT field of the earliest transition time's
+ rule to ensure that the earliest transition time recorded in the
+ compiled file is correct.
+
+ If, for a particular timezone, a clock advance caused by the start of
+ daylight saving coincides with and is equal to a clock retreat caused
+ by a change in UT offset, zic produces a single transition to daylight
+ saving at the new UT offset without any change in local (wall clock)
+ time. To get separate transitions use multiple zone continuation lines
+ specifying transition instants using universal time.
SEE ALSO
- newctime(3), tzfile(5), zdump(8)
+ tzfile(5), zdump(8)
+
+ ZIC(8)