Question on abbreviations
Ken Pizzini
tz. at explicate.org
Thu Sep 28 03:34:10 UTC 2006
On Wed, Sep 27, 2006 at 05:38:45PM -0700, Ken Pizzini wrote:
> I'll make an attempt at making the text clearer...
Okay, here's what I came up with --- not so much rewording as
adding clarifications:
[snip]
Input lines are made up of specified 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.
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
Each rule specifies one or more transitions between standard and saving
time. 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 transition rule applies. Any
integer year can be supplied; the Gregorian calendar is
assumed. The word minimum (or an abbreviation) means the mini-
mum year representable as an integer. The word maximum (or an
abbreviation) means the maximum year representable as an inte-
ger. 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 abbrevia-
tion) may be used to repeat the value of the FROM field.
Note that the offset that the rule transitions will continue on
until the next transition occurs, no matter how far in the
future of the FROM or TO years that may be.
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 inclu-
sive. 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. This
might be used, for example, to have a rule which applies only
in leap years.
[...unchanged text omitted...]
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.
Note that, as a special case, references to a rule's LETTER/S
field (through a %s in a zone line's FORMAT field) for a date
which predates the oldest date specified in a given rule will
be assigned the "variable part" specified by the oldest stan-
dard time (i.e., with a SAVE value of zero) transition speci-
fied for the named rule.
A zone line has the form
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
[...unchanged text omitted...]
UNTIL The time at which the UTC offset or the rule(s) change for a
location. This field, which is logically a single field in the
sense of the high-level description, consists of whitespace sepa-
rated subfields consisting of a year, a month, a day, and a time
of day. If this is specified, the time zone information is gen-
erated 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 columns of a rule; trailing columns can be
omitted, and default to the earliest possible value for the miss-
ing columns.
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 field in the previous
line in the file used by the previous line. Continuation lines
may contain an UNTIL field, just as zone lines do, indicating
that the next line is a further continuation.
[snip]
And for ADO, here is the corresponding diff to the zic.8 page:
--- zic.8~ 2006-08-21 06:56:12.000000000 -0700
+++ zic.8 2006-09-27 19:54:52.597649904 -0700
@@ -98,7 +98,9 @@
.B yearistype
when checking year types (see below).
.PP
-Input lines are made up of fields.
+Input lines are made up of
+.B specified
+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
@@ -122,13 +124,16 @@
Rule US 1967 1973 \- Apr lastSun 2:00 1:00 D
.sp
.fi
+Each rule specifies one or more
+.I transitions
+between standard and saving time.
The fields that make up a rule line are:
.TP "\w'LETTER/S'u"
.B NAME
Gives the (arbitrary) name of the set of rules this rule is part of.
.TP
.B FROM
-Gives the first year in which the rule applies.
+Gives the first year in which the transition rule applies.
Any integer year can be supplied; the Gregorian calendar is assumed.
The word
.B minimum
@@ -153,6 +158,16 @@
may be used to repeat the value of the
.B FROM
field.
+.IP
+Note that the
+.I offset
+that the rule transitions will continue on until the next
+transition occurs,
+no matter how far in the future of the
+.B FROM
+or
+.B TO
+years that may be.
.TP
.B TYPE
Gives the type of year in which the rule applies.
@@ -176,6 +191,8 @@
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.
+This might be used, for example, to have a rule which applies only in
+leap years.
.TP
.B IN
Names the month in which the rule takes effect.
@@ -263,6 +280,22 @@
If this field is
.BR \- ,
the variable part is null.
+.IP
+Note that, as a special case, references to a rule's
+.B LETTER/S
+field
+(through a %s in a zone line's
+.B FORMAT
+field)
+for a date which predates the oldest date specified in a given rule
+will be assigned the
+.q "variable part"
+specified by the oldest
+.I standard time
+(i.e., with a
+.B SAVE
+value of zero)
+transition specified for the named rule.
.PP
A zone line has the form
.sp
@@ -313,7 +346,9 @@
.TP
.B UNTIL
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.
+This field, which is logically a single field in the sense of the
+high-level description, consists of whitespace separated subfields
+consisting of 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.
@@ -321,7 +356,9 @@
columns of a rule; trailing columns can be omitted, and default to the
earliest possible value for the missing columns.
.IP
-The next line must be a
+The next line
+.I must
+be a
.q continuation
line; this has the same form as a zone line except that the
string
--Ken Pizzini
More information about the tz
mailing list