Terry Lee Tucker <terry(at)esc1(dot)com> writes:
> I need to know if there is a convienient way of establishing whether DST is
> active within a function dealing with adjusting timestamps to other time
> zones. The problem is that if I have the following timestamp:
> '04/21/2006 17:05 EDT'
> and I use the timezone() function in the following manner:
> return (timezone ('CST', '04/21/2006 17:05 EDT')
> I get a two hour difference in time.
Perhaps you should be using a DST-aware timezone specification? Since
8.1 you could do
regression=# select timezone ('CST6CDT', '04/21/2006 17:05 EDT'::timestamptz);
timezone
---------------------
2006-04-21 16:05:00
(1 row)
regards, tom lane