Re: Times and time zones

From: Lynna Landstreet <lynna(at)spidersilk(dot)net>
To: Frank Bax <fbax(at)sympatico(dot)ca>, PgSQL-PHP Mailing List <pgsql-php(at)postgresql(dot)org>
Subject: Re: Times and time zones
Date: 2005-07-21 01:12:31
Message-ID: BF046EBF.1BA6F%lynna@spidersilk.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

On 7/20/05 7:36 PM, Frank Bax <fbax(at)sympatico(dot)ca> wrote:

>> I've set the datatype for all the time/date columns to timestamp with time
>> zone, as it seems to be the only type that will store all the data I need,
>> but I was thrown a bit by the fact that PostgreSQL apparently then converts
>> all the times to GMT, setting the time zone to +00 accordingly. So if a user
>> enters July 20, 2005, 6:30 pm EDT (Eastern daylight savings time), it's
>> saved as 2005-07-20 22:30:00+00 rather than 2005-07-20 18:30:00-04.
>>
>> Now, this is fine for comparing different times internally, but it's not so
>> good for outputting the times back to the user for them to view and edit.
>> I've now created a second column for each time which saves the time zone
>> they originally entered, but I'm having trouble converting the time back
>> from GMT to the original. I need to write a PHP function
>
> Why use php when sql will do the job?
>
> http://www.postgresql.org/docs/7.4/interactive/functions-datetime.html#FUNCTIO
> NS-DATETIME-ZONECONVERT

Aaagh! Can't believe I missed that! Thank you!

So to use this, I'd just add it to my select statement when retrieving the
data? As in "SELECT TIMESTAMP WITH TIME ZONE arrival_time AT TIME ZONE
arrival_time_zone, [and various other fields] FROM [table] WHERE
[condition]"?

And for the time zone value, can it take all the input types listed for
timezone in the datatypes section
(http://www.postgresql.org/docs/7.4/interactive/datatype-datetime.html#DATAT
YPE-TIMEZONE-TABLE), i.e. PST, -8:00, -800, -8, uniform, u?

Lynna

--
Spider Silk Design - http://www.spidersilk.net
509 St Clair W Box 73576, Toronto ON Canada M6C 1C0
Tel 416.651.2899 - Toll Free 1.866.651.2899 - Cell 416.873.9289

In response to

Browse pgsql-php by date

  From Date Subject
Next Message Lynna Landstreet 2005-07-21 01:30:04 Re: Times and time zones
Previous Message Gavin M. Roy 2005-07-20 23:36:46 Re: Times and time zones