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