Unix时间戳是自1970年1月1日UTC午夜以来的秒数。
如何从PostgreSQL获取正确的Unix时间戳?
与currenttimestamp.com和timestamp.1e5b.de进行比较时,我没有从PostgreSQL获得预期的时间:
这将返回正确的时间戳:
SELECT extract(epoch from now());
虽然这不是:
SELECT extract(epoch from now() at time zone 'utc');
我住在时区UTC +02。从PostgreSQL获取当前unix时间戳的正确方法是什么?
这将返回正确的时间和时区:
SELECT now();
now
-------------------------------
2011-05-18 10:34:10.820464+02
另一个比较:
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