Unix timestamp is the number of seconds since midnight UTC January 1, 1970.
How do I get the correct unix timestamp from PostgreSQL?
When comparing to currenttimestamp.com and timestamp.1e5b.de I don't get the expected time from PostgreSQL:
This returns the correct timestamp:
SELECT extract(epoch from now());
While this doesn't:
SELECT extract(epoch from now() at time zone 'utc');
I live in time zone UTC +02. What is the correct way to get the current unix timestamp from PostgreSQL?
This returns the correct time and time zone:
SELECT now();
now
-------------------------------
2011-05-18 10:34:10.820464+02
Another comparison:
select now(),
extract(epoch from now()),
extract(epoch from now() at time zone 'utc');
now | date_part | date_part
-------------------------------+------------------+------------------
2011-05-18 10:38:16.439332+02 | 1305707896.43933 | 1305700696.43933
(1 row)
Unix timestamp from the web sites:
1305707967