My confusion with Asia/Aqtau

Olson, Arthur David (NIH/NCI) olsona at
Fri Jul 18 12:18:36 UTC 2003

Dave Rolsky's interpretation of what the "asia" file *says* is happening
is correct, as witness output from "zdump -v Asia/Aqtau | grep 1995":

	Asia/Aqtau  Sat Mar 25 20:59:59 1995 UTC = Sun Mar 26 01:59:59 1995
AQTT isdst=0
	Asia/Aqtau  Sat Mar 25 21:00:00 1995 UTC = Sun Mar 26 03:00:00 1995
AQTST isdst=1
	Asia/Aqtau  Sat Sep 23 17:59:59 1995 UTC = Sat Sep 23 23:59:59 1995
AQTST isdst=1
	Asia/Aqtau  Sat Sep 23 18:00:00 1995 UTC = Sat Sep 23 23:00:00 1995
AQTST isdst=1
	Asia/Aqtau  Sat Sep 23 21:59:59 1995 UTC = Sun Sep 24 02:59:59 1995
AQTST isdst=1
	Asia/Aqtau  Sat Sep 23 22:00:00 1995 UTC = Sun Sep 24 02:00:00 1995
AQTT isdst=0

(Recall that for each time change zic produces a "before" and "after" line;
six lines above means there were three changes in 1995).

I don't know *really* happened in Asia/Aqtau in 1995;
if there was indeed just one change to clocks, the "1995 Sep lastSun" line
needs tweaking.


-----Original Message-----
From: Dave Rolsky [mailto:autarch at]
Sent: Friday, July 18, 2003 1:34 AM
To: tz at
Subject: My confusion with Asia/Aqtau

I'm trying to implement a parse/code generator based on the Olson DB
_text_ files (not binary).

I think I've got it mostly working, but there's some strange edge cases.
One of them involves Asia/Aqtau, and I'm trying to figure out if I'm
_really_ understanding what the file indicates.

The observances for this zone include the following:

 			5:00 RussiaAsia	AQT%sT	1995 Sep lastSun # Aqtau
 			4:00 RussiaAsia	AQT%sT

The RussiaAsia rules include the following rules which apply to those

 Rule RussiaAsia	1993	max	-	Mar	lastSun	 2:00s	1:00
 Rule RussiaAsia	1993	1995	-	Sep	lastSun	 2:00s	0
 Rule RussiaAsia	1996	max	-	Oct	lastSun	 2:00s	0

By my reading, this indicates the following transitions:

* On Sep 24, 1995 at 00:00:00 _local_ time, the offset from UTC changes
from 05:00 to 04:00.  However, the DST rule is still in effect, so the
total offset goes from 06:00 to 05:00.

* On Sep 24, 1995 at 01:00:00 local time (2:00s == 1:00 wall when DST is
in effect), the rule changes so that DST is no longer in effect, and the
cumulative offset goes from 05:00 to 04:00.

Is this _really_ correct?  It seems awfully strange to have an observance
change so close to a DST change.  And if cases like these are possible,
it's really going to complicate my code.  But if it is correct, I do want
to get it right in my code.

OTOH, if it's wrong, and such things don't happen, I'd be just as happy to
leave me code as is ;)


House Absolute Consulting

More information about the tz mailing list