Re: timestamps, epoch and time zones

From: Sam Mason <sam(at)samason(dot)me(dot)uk>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: timestamps, epoch and time zones
Date: 2010-01-22 12:25:28
Message-ID: 20100122122528.GV5407@samason.me.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Jan 22, 2010 at 11:45:30AM -0000, Alberto Colombo wrote:
> select extract(epoch from timestamp 'epoch');
>
> date_part
> -----------
> -3600
>
> Shouldn't that be zero? My timezone is Europe/London (but does it
> matter?).

Writing "timestamp" like that says that you want the time in your
current timezone. Your locale says that that's one hour out and hence
PG modifies the epoch for your current timezone.

I think you want to be using "timestamptz" or "timestamp with time zone"
if you don't want this correction performed.

The timezone stuff is all a bit fuzzy in my head and I just tend to
swap between the two depending on which does the "right thing" in each
instance. Not sure if this is just because I've not used them enough,
or because there should be more options to make the complexity more
obvious.

--
Sam http://samason.me.uk/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ivan Sergio Borgonovo 2010-01-22 12:35:09 Re: more docs on extending postgres in C
Previous Message Sam Mason 2010-01-22 12:12:14 Re: Optimization on JOIN