Re: datetime error?

Поиск
Список
Период
Сортировка
От Karel Zak
Тема Re: datetime error?
Дата
Msg-id 20020103122840.A13989@zf.jcu.cz
обсуждение исходный текст
Ответ на Re: datetime error?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Wed, Jan 02, 2002 at 11:35:08AM -0500, Tom Lane wrote:
> Karel Zak <zakkr@zf.jcu.cz> writes:
> >  I start fix my bug with "YY vs. zero" in formatting.c, and before it
> >  a see current CVS:
> 
> > test=# select to_timestamp('10-10-2001', 'MM-DD-YYYY');
> >       to_timestamp
> > ------------------------
> >  2001-10-10 00:00:00+02
> > (1 row)
> 
> > test=# select to_date('10-10-2001', 'MM-DD-YYYY');
> >   to_date
> > ------------
> >  2001-10-09
> >          ^^
> 
> Hmm, is 2001-10-10 a daylight-savings transition day in your timezone?
No, it's daylight-savings independent. The interesting thing is that you not see it. I found some things:
* it not happen for GMT timezone, but for others only (I test 'Japan'  and 'CET').
* the difference between to_date and to_timestamp is that to_date use  the timestamp_date() for conversion. And in the
timestamp_date()is  used timestamp2tm() that output bad 'tm' struct.
 
  The basic difference is that timestamp2tm() with right output do  code that call localtime() and timestamp2tm() with
badoutput skip  it, because 'tzp' is not defined ("if (tzp != NULL)" in this  timestamp2tm()).  * and the other thing:
 
# select to_date('12-13-1901', 'MM-DD-YYYY');  to_date------------ 1901-12-13(1 row)
# select to_date('12-14-1901', 'MM-DD-YYYY');NOTICE:  timestamp_date: year:1901 mon:12, mday:13  to_date------------
1901-12-13(1row)   For 'CET' timezone are all dates before '12-14-1901' right :-)
 
IMHO it's timezone problem.
       Karel

-- Karel Zak  <zakkr@zf.jcu.cz>http://home.zf.jcu.cz/~zakkr/C, PostgreSQL, PHP, WWW, http://docs.linux.cz,
http://mape.jcu.cz


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Thomas Swan
Дата:
Сообщение: Re: Updated TODO item
Следующее
От: "Zeugswetter Andreas SB SD"
Дата:
Сообщение: Re: LWLock contention: I think I understand the problem