
I'm getting 3 strange cases when parsing the tz database, for the following cases: - Didn't find %s values for M%sT under America/Phoenix:US for 1944 to 1944 - Didn't find %s values for C%sT under Asia/Macau:PRC for 1999 to +INF - Didn't find %s values for CE%sT under Europe/Warsaw:Poland for 1922 to 1940 Let's take the first case. In the file northamerica, we have the following lines. Zone America/Phoenix -7:28:18 - LMT 1883 Nov 18 11:31:42 -7:00 US M%sT 1944 Jan 1 00:01 -7:00 - MST 1944 Apr 1 00:01 -7:00 US M%sT 1944 Oct 1 00:01 -7:00 - MST 1967 -7:00 US M%sT 1968 Mar 21 -7:00 - MST Now, according to my reading of zic.8.txt, to see what the values for %s are, we look at the rules that are in effect for the period in question. So for the 2nd occurence of M%sT, we are concerned with the time between 1944 Apr 1 00:01 UNTIL 1944 Oct 1 00:01, according to the US rules. In the Rule documentation, we have: 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. So to get the value, we should look at the US rule that is in effect during 1944. Here are the US rules: # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule US 1918 1919 - Mar lastSun 2:00 1:00 D Rule US 1918 1919 - Oct lastSun 2:00 0 S Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace Rule US 1945 only - Sep 30 2:00 0 S Rule US 1967 2006 - Oct lastSun 2:00 0 S Rule US 1967 1973 - Apr lastSun 2:00 1:00 D Rule US 1974 only - Jan 6 2:00 1:00 D Rule US 1975 only - Feb 23 2:00 1:00 D Rule US 1976 1986 - Apr lastSun 2:00 1:00 D Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D Rule US 2007 max - Mar Sun>=8 2:00 1:00 D Rule US 2007 max - Nov Sun>=1 2:00 0 S None of them are operant during 1944, so I don't find any value for M%sT. Am I misreading something? Mark On 9/26/06, Paul Eggert <eggert@cs.ucla.edu> wrote:
Steffen Thorsen <straen@thorsen.priv.no> writes:
Daylight Saving Time ended Friday for "Rule Palestine"
Thanks for the heads-up. Here is a proposed patch, which incorporates the Palestine change along with the other changes already proposed to this list recently.
=================================================================== RCS file: RCS/africa,v retrieving revision 2006.12 retrieving revision 2006.12.0.1 diff -pu -r2006.12 -r2006.12.0.1 --- africa 2006/09/18 16:58:11 2006.12 +++ africa 2006/09/20 19:35:29 2006.12.0.1 @@ -212,35 +212,13 @@ Rule Egypt 1990 1994 - May 1 1:00 1:00 # Go with IATA starting in 1995, except correct 1995 entry from 09-30 to 09-29. Rule Egypt 1995 max - Apr lastFri 0:00s 1:00 S Rule Egypt 1995 2005 - Sep lastThu 23:00s 0 - -# From Hammad Hassan (2006-09-13), quoting The Egyptian Gazette (2006-09-10), -# issue no. 41,083, page 1, column 1: -# Egypt will switch back to the winter time on the eve of the first day of -# the Muslim holy month of Ramadan, expected to start this year on Sept. 24.... -# "Clocks will be turned back starting from the night on which Darul Ifta ... -# announces sighting the crescent of the month of Ramadan,..." Magdi Radi, -# the Cabinet spokesman, said yesterday. -# From Hammad Hassan (2006-09-17): -# when we reach 1:00AM at Sep 25 the clocks will be turned back to 12:00AM. -# I think also this change will be this year and may be the next couple of -# years only. (They just want to exclude Ramadan from the summer time; if -# so, the change will be among 3 years only if my calculations are correct). -# From Paul Eggert (2006-09-17): -# For now, assume a similar rule will be followed in 2006/2008, and that -# Ramadan will start as predicted by GNU Emacs 21.4. Here's the code used -# to generate the 2006/2008 lines: -# (let ((year 1427)) -# (while (< year (+ 1427 3)) -# (let ((date (calendar-gregorian-from-absolute -# (calendar-absolute-from-islamic (list 9 2 year))))) -# (insert (format "Rule\tEgypt\t%d\tonly\t-\t%s\t%2d\t 1:00\t0\t-\n" -# (extract-calendar-year date) -# (calendar-month-name (extract-calendar-month date) 3) -# (extract-calendar-day date)))) -# (setq year (1+ year))))) -Rule Egypt 2006 only - Sep 25 1:00 0 - -Rule Egypt 2007 only - Sep 14 1:00 0 - -Rule Egypt 2008 only - Sep 3 1:00 0 - -Rule Egypt 2009 max - Sep lastThu 23:00s 0 - +# From Steffen Thorsen (2006-09-19): +# The Egyptian Gazette, issue 41,090 (2006-09-18), page 1, reports: +# Egypt will turn back clocks by one hour at the midnight of Thursday +# after observing the daylight saving time since May. +# http://news.gom.com.eg/gazette/pdf/2006/09/18/01.pdf +Rule Egypt 2006 only - Sep 21 23:00s 0 - +Rule Egypt 2007 max - Sep lastThu 23:00s 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Cairo 2:05:00 - LMT 1900 Oct =================================================================== RCS file: RCS/asia,v retrieving revision 2006.11 retrieving revision 2006.11.0.3 diff -pu -r2006.11 -r2006.11.0.3 --- asia 2006/08/28 16:18:48 2006.11 +++ asia 2006/09/26 17:55:21 2006.11.0.3 @@ -1476,6 +1476,15 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # Gaza changed as well, but presumed Gaza to follow the same rules as # the West Bank.
+# From Steffen Thorsen (2006-09-26): +# according to the Palestine News Network (2006-09-19): +# http://english.pnn.ps/index.php?option=com_content&task=view&id=596&Itemid=5 +# > The Council of Ministers announced that this year its winter schedule +# > will begin early, as of midnight Thursday. It is also time to turn +# > back the clocks for winter. Friday will begin an hour late this week. +# I guess it is likely that next year's date will be moved as well, +# because of the Ramadan. + # The rules for Egypt are stolen from the `africa' file. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule EgyptAsia 1957 only - May 10 0:00 1:00 S @@ -1488,8 +1497,10 @@ Rule EgyptAsia 1966 only - Oct 1 3:00 0 Rule Palestine 1999 2005 - Apr Fri>=15 0:00 1:00 S Rule Palestine 1999 2003 - Oct Fri>=15 0:00 0 - Rule Palestine 2004 only - Oct 1 1:00 0 - -Rule Palestine 2005 max - Oct 4 2:00 0 - +Rule Palestine 2005 only - Oct 4 2:00 0 - Rule Palestine 2006 max - Apr 1 0:00 1:00 S +Rule Palestine 2006 only - Sep 22 0:00 0 - +Rule Palestine 2007 max - Oct Fri>=15 0:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct @@ -1668,11 +1679,18 @@ Rule Syria 1993 only - Sep 25 0:00 0 - # IATA SSIM (1998-02) says 1998-04-02; # (1998-09) says 1999-03-29 and 1999-09-29; (1999-02) says 1999-04-02, # 2000-04-02, and 2001-04-02; (1999-09) says 2000-03-31 and 2001-03-31; -# ignore all these claims and go with Shanks & Pottenger. +# (2006) says 2006-03-31 and 2006-09-22; +# for now ignore all these claims and go with Shanks & Pottenger, +# except for the 2006-09-22 claim (which seems right for Ramadan). Rule Syria 1994 1996 - Apr 1 0:00 1:00 S -Rule Syria 1994 max - Oct 1 0:00 0 - +Rule Syria 1994 2005 - Oct 1 0:00 0 - Rule Syria 1997 1998 - Mar lastMon 0:00 1:00 S Rule Syria 1999 max - Apr 1 0:00 1:00 S +# From Stephen Colebourne (2006-09-18): +# According to IATA data, Syria will change DST on 21st September [21:00 UTC] +# this year [only].... This is probably related to Ramadan, like Egypt. +Rule Syria 2006 only - Sep 22 0:00 0 - +Rule Syria 2007 max - Oct 1 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq 2:00 Syria EE%sT =================================================================== RCS file: RCS/southamerica,v retrieving revision 2006.3 retrieving revision 2006.3.0.2 diff -pu -r2006.3 -r2006.3.0.2 --- southamerica 2006/04/03 14:07:15 2006.3 +++ southamerica 2006/09/20 19:35:02 2006.3.0.2 @@ -1064,6 +1064,10 @@ Rule Uruguay 2005 only - Mar 27 2:00 0 # 02:00 local time, official time in Uruguay will be at GMT -2. Rule Uruguay 2005 only - Oct 9 2:00 1:00 S Rule Uruguay 2006 only - Mar 12 2:00 0 - +# From Jesper Norgaard Welen (2006-09-06): +# http://www.presidencia.gub.uy/_web/decretos/2006/09/CM%20210_08%2006%202006_... +Rule Uruguay 2006 max - Oct Sun>=1 2:00 1:00 S +Rule Uruguay 2007 max - Mar Sun>=8 2:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Montevideo -3:44:44 - LMT 1898 Jun 28 -3:44:44 - MMT 1920 May 1 # Montevideo MT

On Tue, Sep 26, 2006 at 10:48:48PM -0700, Mark Davis wrote:
So to get the value, we should look at the US rule that is in effect during 1944. Here are the US rules: ... Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace
None of them are operant during 1944, so I don't find any value for M%sT. Am I misreading something?
The last transition before 1944 is to go into W[ar] time, so that is the "Letter" to be used for %s substitutions in zone using "US" rules in that year.
-7:00 US M%sT 1944 Jan 1 00:01 -7:00 - MST 1944 Apr 1 00:01
So from 1944-01-01t00:01 until 1944-04-01t00:00:59 Phoenix was on MST...
-7:00 US M%sT 1944 Oct 1 00:01
and from 1944-04-01t00:01 until 1944-10-01t00:00:59 it was on MWT. --Ken Pizzini

"Mark Davis" <mark.davis@icu-project.org> writes:
So to get the value, we should look at the US rule that is in effect during 1944. Here are the US rules:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S ... Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace ...
Those two rules tell you that in 1942 DST was instituted, and in 1945 the abbreviation was changed from W to P time. The implication is that 1943 and 1944 the rules were the same as in late 1942.

According to the spec, TO = "only" is equivalent to saying that the TO value equals the FROM value. Are you saying that is not true? If it isn't true, what does the "only" value mean? Mark On 9/26/06, Paul Eggert <eggert@cs.ucla.edu> wrote:
"Mark Davis" <mark.davis@icu-project.org> writes:
So to get the value, we should look at the US rule that is in effect during 1944. Here are the US rules:
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S ... Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace ...
Those two rules tell you that in 1942 DST was instituted, and in 1945 the abbreviation was changed from W to P time. The implication is that 1943 and 1944 the rules were the same as in late 1942.

"Mark Davis" <mark.davis@icu-project.org> writes:
According to the spec, TO = "only" is equivalent to saying that the TO value equals the FROM value.
Yes, that's what's happening here. The rule to switch to DST applies only in 1942. There is no rule to switch _out_ of DST in 1942, so DST continues until 1945, the next rule that applies.
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
... Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P #
participants (3)
-
Ken Pizzini
-
Mark Davis
-
Paul Eggert