On 7/20/05 7:36 PM, Frank Bax <fbax@xxxxxxxxxxxx> 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