I'm noticing some interesting behavior around timestamp and extract epoch,
and it appears that I'm getting a timezone applied somewhere.
Specifically, If I do:
select EXTRACT( EPOCH FROM '2010-01-31 00:00:00'::TIMESTAMP WITHOUT TIME
ZONE ); == 1264924800
select EXTRACT( EPOCH FROM '2010-04-01 00:00:00'::TIMESTAMP WITHOUT TIME
ZONE ); == 1270105200
Now if I do something similar in Java.. using a GregorianCalendar, with
"GMT" TimeZone.
I get
Hello:2010-01-31 00:00:00.000 (UTC)
Hello:1264896000000
Hello:2010-04-01 00:00:00.000 (UTC)
Hello:1270080000000
Which gives a difference of 8 and 7 hours respectively, so both a timezone
and a DST shift are at work here.
Is this the expected behavior of extract epoch, is there a way to get it to
always be in GMT?