On Wed, 2011-10-05 at 14:24 +0400, Vladimir Rusinov wrote:
> > Напоминаю: у PG в timezonesets прописано, что MSK -- это строго +3 без
> > DST, MSD -- строго +4 с DST, и никак иначе. А в новых tzdata MSK с 2011
> > года -- это +4 без DST, отсюда и грабли.
>
>
> @@
-2042,7<http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/timezone/data/europe;h=221b8504ad1d3abe98233cc76b5a30a5149cfc52#l2042>
>
+2063,8<http://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/timezone/data/europe;h=baed8fe334cbd3f6d53f6a358e4f1b086393544b;hb=67efa666a5b29ecd19e0f3191a1433fbd5b75b8f#l2063>@@
> Zone Europe/Moscow 2:30:20 - LMT 1880
> 2:00 - EET 1930 Jun 21
> 3:00 Russia MSK/MSD 1991 Mar 31 2:00s
> 2:00 Russia EE%sT 1992 Jan 19 2:00s
> - 3:00 Russia MSK/MSD
> + 3:00 Russia MSK/MSD 2011 Mar 27 2:00s
> + 4:00 - MSK
>
> Если интуиция и здравый смысл меня не обманывают, эта запись означает что до
> 2011 Mar 27 Europe/Moscow - это MSK/MSD +03, а после - это просто MSK +4.
Не обманывает. Только PG так не умеет. У него аббревиатура однозначно
определяет смещение и признак DST.
Мне здравый смысл тоже подсказывает, что нельзя было давать одинаковые
аббревиатуры для "до" и "после". Посмотрите zdump -v Europe/Moscow --
при разных смещениях каждый раз аббревиатуры были разные.
--
Alexander M. Pravkin