A tz newbie question: What happens when switching to a named rule, but no such rule exists? The Europe/Zurich example in zic.8.txt has an example of that (switches to Swiss rules in 1894, but there are no Swiss rules before 1940), but doesn't say what to do. I can make sense of that by making what seems to be the reasonable assumption that SAVE is zero and LETTER/S is null. Is that the intent? If so, then is it also true that, in America/Chicago, we should use "CT" rather than "CST" from 1883 Nov 18 12:09:24 to the last Sunday in March of 1918? Or is there something I'm missing? Thanks, --Bill Seymour
On Fri, Nov 23, 2007 at 12:34:10PM -0600, Bill Seymour wrote:
What happens when switching to a named rule, but no such rule exists?
The Europe/Zurich example in zic.8.txt has an example of that (switches to Swiss rules in 1894, but there are no Swiss rules before 1940), but doesn't say what to do.
The important thing to remember is that the rules specify *transitions*. If there is no transition, then nothing changes, so the fact that the Swiss rules lack any transitions between 1894 and 1940 means that Europe/Zurich keeps their clocks at the same offset from UTC (or rather, given the time frame involved, from GMT) during the interval in question. --Ken Pizzini
On 11/23/07, Ken Pizzini <tz_@explicate.org> wrote:
The important thing to remember is that the rules specify *transitions*.
That's what I thought, too, until I realized that the SAVE and LETTER/S columns specify states, not transitions. Consider for example: Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace The second of those is /not/ an instruction to set my clock ahead an hour. But my real question was about the replacement text for "%s" in the Zone's FORMAT when there has been no "transition" to set the LETTER/S initially. Assuming an empty string is reasonable and works for the Europe/Zurich example in zic.8.txt; but it gives me "CT" for a similar case in America/Chicago. I'm guessing that it really should be "CST". If that's right, we need some algorithm for getting the "S" from the existing data. Maybe something like: When changing to a named Rule before the first one exists, move forward in time to the first with a SAVE of 0 and use the LETTER/S from that. But my guess might be wrong...I don't know, which is why I'm asking. Thanks, --Bill Seymour
On Sat, Nov 24, 2007 at 07:12:55AM -0600, Bill Seymour wrote:
On 11/23/07, Ken Pizzini <tz_@explicate.org> wrote:
The important thing to remember is that the rules specify *transitions*.
That's what I thought, too, until I realized that the SAVE and LETTER/S columns specify states, not transitions. Consider for example:
Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace
The second of those is /not/ an instruction to set my clock ahead an hour.
Though UTC/GMT offset didn't change, that's still a transition. The name of (and abbreviation for) the zone *did* transition at 23:00u on 1945-08-14.
But my real question was about the replacement text for "%s" in the Zone's FORMAT when there has been no "transition" to set the LETTER/S initially.
Ah, right. This came up before. The correct answer is as you state here:
When changing to a named Rule before the first one exists, move forward in time to the first with a SAVE of 0 and use the LETTER/S from that.
This shortcoming of the zic.8 documentation has come up before, but no consensus about how to word a fix was acheived. Perhaps your suggestion above will have better luck, or at least inspire a more fruitful round of wordsmithing this time... --Ken Pizzini
participants (2)
-
Bill Seymour -
Ken Pizzini