Hello!
I have choosed nice test case, right? :))) Of course, I knew this before, just completely forgot when I got good
source for zic. I haven't looked into it for a while. Ok, I'll recreate patch for datetime regression test and submit
it
tomorrow. Thank you.
On Tue, 5 Jan 1999, Thomas G. Lockhart wrote:
> Yeah, so is mine. You will note that any year other than 1991 behaves as
> you expect, and 1991 results are consistant with the Linux timezone
> database (see below):
>
> postgres=> select datetime('1991-10-01'::date);
> datetime
> ----------------------------
> Mon Sep 30 23:00:00 1991 EET
> (1 row)
>
> postgres=> select datetime('1992-10-01'::date);
> datetime
> ----------------------------
> Thu Oct 01 00:00:00 1992 MSK
> (1 row)
>
> postgres=> select datetime('1990-10-01'::date);
> datetime
> ----------------------------
> Mon Oct 01 00:00:00 1990 MSK
> (1 row)
>
> Apparently 1991 had something different for timezone handling for Moscow
> time. It isn't as dumb as it sounds; in the US in 1973-4 we ran on
> daylight savings time through the winter season as an energy
> conservation measure:
>
> postgres=> select '1973-02-01'::datetime;
> ?column?
> ----------------------------
> Thu Feb 01 00:00:00 1973 PST
> (1 row)
>
> postgres=> select '1974-02-01'::datetime;
> ?column?
> ----------------------------
> Fri Feb 01 00:00:00 1974 PDT
> (1 row)
>
> Anyway, you can see the feature in the "zic" timezone database:
>
> golem$ zdump -v -c 2000 Europe/Moscow
> <snip>
> Europe/Moscow Sat Sep 29 23:00:00 1990 GMT = Sun Sep 30 02:00:00 1990
> MSK isdst=0
> Europe/Moscow Sat Mar 30 22:59:59 1991 GMT = Sun Mar 31 01:59:59 1991
> MSK isdst=0
> Europe/Moscow Sat Mar 30 23:00:00 1991 GMT = Sun Mar 31 02:00:00 1991
> EET DST isdst=1
> Europe/Moscow Sat Sep 28 23:59:59 1991 GMT = Sun Sep 29 02:59:59 1991
> EET DST isdst=1
> Europe/Moscow Sun Sep 29 00:00:00 1991 GMT = Sun Sep 29 02:00:00 1991
> EET isdst=0
> Europe/Moscow Sat Jan 18 23:59:59 1992 GMT = Sun Jan 19 01:59:59 1992
> EET isdst=0
> Europe/Moscow Sun Jan 19 00:00:00 1992 GMT = Sun Jan 19 03:00:00 1992
> MSK isdst=0
> Europe/Moscow Sat Mar 28 22:59:59 1992 GMT = Sun Mar 29 01:59:59 1992
> MSK isdst=0
> Europe/Moscow Sat Mar 28 23:00:00 1992 GMT = Sun Mar 29 03:00:00 1992
> MSD isdst=1
> <snip>
>
> - Tom
>
Oleg.
---- Oleg Broytmann http://members.tripod.com/~phd2/ phd2@earthling.net Programmers don't die, they
justGOSUB without RETURN.