Unixタイムスタンプは、UTC 1970年1月1日午前0時からの秒数です。
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