24:00; Canada

Olson, Arthur David (NIH/NCI) olsona at dc37a.nci.nih.gov
Mon Dec 22 17:47:34 UTC 2003


Regarding use of "24:00" in data files (which pre-1998 versions of zic can't
handle), Martin Smoot wrote:

> I would think at some point that we would have to give up on maintaining
compatibility with these older versions of zic.  after all it has been
several years.  how many people do not have a compiler to rebuild zic?

Visiting this whole 24:00 business didn't happen because of Kiefer
Sutherland/Jack Bauer; we did get a report of difficulty from a user trying
to pump updated data files through a vendor-supplied zic. If use of 24:00
was in support of some active time zone, we'd have no choice but to abandon
efforts at compatibility, but when the use of 24:00 is only to support a
limited number of historic transitions in a limited number of places,
there's more motive to avoid use of 24:00 (and thus to avoid problems for
folks trying to use the data with existing compilers).
We do, of course, want to keep the code in place so that people for whom it
would be useful can benefit from it.

We face more latency in our work with the time zone stuff than do vendors
such as Sun with other software.
Sun has to implement and distribute changes and give customers time to adopt
them before abandoning support.
We have to implement and distribute changes, wait for vendors to implement
and distribute them, and then wait for customers to adopt them.
So our "give up on maintaining compatibility" time frame is, of necessity,
longer than folks might be accustomed to.
A complicating factor is that the time zone data files do now get processed
by alternate readers that aren't part of the time zone package.

At this point we've got the "this is a simpler way to do it" comments in the
relevant place in the data file.
The next step will be to uncomment that stuff and comment out the more
complicated (but more generally useable) stuff.
I don't know what the best time frame is for doing that;
I imagine it's best to do it before the retirement of yours truly (now 8-1/2
years off).

----------------------------------------------

Another piece of fallout from the 24:00 work was the discovery that back
during the Great Depression Toronto was making switches at 2:00 a.m. on the
first Sunday after the last Saturday in April and September--even if this
meant that the switch got pushed back to May or October. Now as currently
set up, when zic is asked to make a switch on a day of the month such as...
	Sun>=25
...it checks to ensure that there is indeed such a Sunday in the month and
fails if there isn't one.
I believe it's reasonable to lift this restriction; doing so allows simpler
expression of rules covering situations such as those in Toronto, as witness
the (regression-tested) changes attached below. As always, the point of the
exercise is not so much to deal with what happened in Toronto way back when,
but to be prepared to deal with the situation if some wild-eyed legislators
decide to adopt such a scheme in the future.

				--ado

------- zic.c -------
*** /tmp/geta11385	Mon Dec 22 12:35:17 2003
--- /tmp/getb11385	Mon Dec 22 12:35:18 2003
***************
*** 2138,2144 ****
  					wday = LDAYSPERWEEK - 1;
  				--i;
  			}
! 		if (i < 0 || i >= len_months[isleap(y)][m]) {
  			error(_("no day in month matches rule"));
  			(void) exit(EXIT_FAILURE);
  		}
--- 2138,2144 ----
  					wday = LDAYSPERWEEK - 1;
  				--i;
  			}
! 		if (i < 0) {
  			error(_("no day in month matches rule"));
  			(void) exit(EXIT_FAILURE);
  		}

------- northamerica -------
*** /tmp/geta11403	Mon Dec 22 12:35:18 2003
--- /tmp/getb11403	Mon Dec 22 12:35:18 2003
***************
*** 989,1000 ****
  # Shanks says 1923-09-19; assume it's a typo and that "-16" was meant.
  Rule	Toronto	1922	1926	-	Sep	Sun>=15	2:00	0	S
  Rule	Toronto	1924	1927	-	May	Sun>=1	2:00	1:00	D
! Rule	Toronto	1927	1932	-	Sep	lastSun	2:00	0	S
! Rule	Toronto	1928	1931	-	Apr	lastSun	2:00	1:00	D
! Rule	Toronto	1932	only	-	May	1	2:00	1:00	D
! Rule	Toronto	1933	1940	-	Apr	lastSun	2:00	1:00	D
! Rule	Toronto	1933	only	-	Oct	1	2:00	0	S
! Rule	Toronto	1934	1939	-	Sep	lastSun	2:00	0	S
  Rule	Toronto	1945	1946	-	Sep	lastSun	2:00	0	S
  Rule	Toronto	1946	only	-	Apr	lastSun	2:00	1:00	D
  Rule	Toronto	1947	1949	-	Apr	lastSun	0:00	1:00	D
--- 989,998 ----
  # Shanks says 1923-09-19; assume it's a typo and that "-16" was meant.
  Rule	Toronto	1922	1926	-	Sep	Sun>=15	2:00	0	S
  Rule	Toronto	1924	1927	-	May	Sun>=1	2:00	1:00	D
! Rule	Toronto	1927	1937	-	Sep	Sun>=25	2:00	0	S
! Rule	Toronto	1928	1937	-	Apr	Sun>=25	2:00	1:00	D
! Rule	Toronto	1938	1939	-	Sep	lastSun	2:00	0	S
! Rule	Toronto	1938	1940	-	Apr	lastSun	2:00	1:00	D
  Rule	Toronto	1945	1946	-	Sep	lastSun	2:00	0	S
  Rule	Toronto	1946	only	-	Apr	lastSun	2:00	1:00	D
  Rule	Toronto	1947	1949	-	Apr	lastSun	0:00	1:00	D


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: comma.txt
URL: <http://mm.icann.org/pipermail/tz/attachments/20031222/3e132a7e/attachment.txt>


More information about the tz mailing list