diff options
Diffstat (limited to 'zic.8.txt')
| -rw-r--r-- | zic.8.txt | 796 |
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) |
