Re: timezone, how postgres deal with it?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Gary Chambers <gwchamb(at)gwcmail(dot)com>
Cc: Anibal David Acosta <aa(at)devshock(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: timezone, how postgres deal with it?
Date: 2012-11-20 22:14:42
Message-ID: 16268.1353449682@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Gary Chambers <gwchamb(at)gwcmail(dot)com> writes:
>> This query returns false
>> select ('2012-11-20 17:00:00-02:00'::timestamp with time zone) = ('2012-11-20 18:00:00-03:00'::timestamp with time zone)

> It's false for me, too. Change '2012-11-20 18:00:00-03:00' to the correct '2012-11-20
> 16:00:00-03:00' and it will work as you expect.

I suppose the OP is confused about the sign of timezone offsets.

When reading/printing timestamptz values we follow ISO 8601, which says
negative offsets are west of Greenwich. Unfortunately, there are other
standards that say the opposite, and just in case you weren't confused
yet, PG follows those other standards in other places :-(. So for
example the timezone name "EST5EDT" refers to five hours west, as does
"-05:00" in a timestamptz value. (The great thing about standards is
there are so many to choose from.)

There's some docs about this at
http://www.postgresql.org/docs/9.2/static/datatype-datetime.html#DATATYPE-TIMEZONES

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2012-11-20 22:19:47 Re: timezone, how postgres deal with it?
Previous Message Jeff Janes 2012-11-20 22:08:17 Re: High SYS CPU - need advise