Re: DST and time zones

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: DST and time zones
Дата
Msg-id 7361.1095537626@sss.pgh.pa.us
обсуждение исходный текст
Ответ на DST and time zones  (A Gilmore <agilmore@shaw.ca>)
Ответы Re: DST and time zones  (A Gilmore <agilmore@shaw.ca>)
Список pgsql-novice
A Gilmore <agilmore@shaw.ca> writes:
> I need a method of returning a date in a given timezone and accomidating
> DST.  For example, my server is set to UTC, Id like to return the epoch
> for Vancouver Canada.

Huh?  Epoch is UTC all over the world, at least for sane operating
systems.  But disregarding your specific example, the general problem is
valid.  I'm afraid there's not a real good solution at the moment.
You should ideally be able to say

    select now() at time zone 'PST8PDT';

or one of the other spellings of that DST-aware time zone name, such as
'America/Vancouver'.  The raw materials to support this are in place as
of 8.0, but we didn't get all the work done --- maybe 8.1 will be able
to do it.

In the meantime, the only solution I can suggest is pretty klugy:
temporarily set the TIMEZONE variable.  For example, I'm in EST5EDT,
so:

regression=# select now();
              now
-------------------------------
 2004-09-18 15:57:26.944637-04
(1 row)

regression=# begin;
BEGIN
regression=# set local timezone = 'PST8PDT';
SET
regression=# select extract(hour from cast(now() as timestamp without time zone));
 date_part
-----------
        12
(1 row)

regression=# commit;
COMMIT

            regards, tom lane

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Importing data into postgreSQL from FileMaker?
Следующее
От: "M. Bastin"
Дата:
Сообщение: Re: Importing data into postgreSQL from FileMaker?