Date: Tue, 23 Jan 2007 12:01:19 +1100 From: "Sean B. Durkin" <sean@dataprocessors.com.au> Message-ID: <45B55E5F.9070509@dataprocessors.com.au> | To anyone who can help: | | The data source file 'australasia' specifies that the Australia/Darwin | zone uses the rule Aus from 1-May-1899 onwards. But the Aus rule is | undefined for from 1945 onwards! No, it isn't. Clearly we need to do some more work on the documentation, because people keep on making this mistake. Did you read the latest specification for the formats) That recently had some changes made to attempt to make this clearer... If you read that, and it still isn't clear, then perhaps some more changes are needed (though I am not sure exactly how that could be done while remaining reasonably concise.) | Moreover, as a general rule, how should one interpret the application | of a tz "rule" for periods when the rule is not explicitly defined? You have exposed the misunderstanding here. The rules do not specify periods. They specify transitions. That is, they specify instants of time at which wallclocks suddenty jump from one display to another, instead of progressing naturally forward second by second. That's all they specify, they most certainly do not specify a period during which summer time (or daylight saving, or any other name it has in a particular locality at a particular period - "war time" and others). Atempting to do that would not be nearly flexible enough, as it wouldn't easily cope with zones where the standard time offset alters, and other things like that. So if you take ... | Fragment from 'australasia' | # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S | Rule Aus 1917 only - Jan 1 0:01 1:00 - That says, that on Jan 1 1917, at 00:01, the clock jumped to 01:01 | Rule Aus 1917 only - Mar 25 2:00 0 - and this one days that on Mar 25, 1917, at 02:00, the clock jumped back to 01:00. If those were the only rules that existed, people might perhaps understand this more easily, but we also have ... | Rule Aus 1943 1944 - Mar lastSun 2:00 0 - which appears to specify a period (from 1943 to 1944) - yet when you think about, it really does nothing of the kind, there is/was no single timezone offset that applied from March 1943 to March 1944 (much less a single offset in that approximate year that was different from what was before and after it). Rather, that rule is just a shorthand to say that on the last Sunday of March, 1943 (Mar 28) thwre was a transition back to standard time (the clocks moved backwards 1 hour), and the same thing also happened on the last Sunday of March 1944 (Marsh 26th). Clearly those two events make no sense, unless there was also a transition to summer time between them (which there was, and which is found in a different rule). So, this rule line cannot be specifying a period, rather it us specifying the dates at which two different periods ended, and two other periods started - ie: it is specifying two transition points. As soon as you grasp that the rules work like this, you can see that it simply is not possible to have undefined periods - all time either is, or is not, a transition point. The transition points are listed in the rules, every other time is simply a normal time, at which no transition takes place. It happens that the Northern Territory has had a fairly placid timezone experience since the end of the 2nd world war, so there are no more transitions to be found for it, and its timesone remains as set by the last occurring transition, which makkens to be the March 26, 1944 transition mentioned above, which left it with the +09:30 offset. Does this help? kre