对于MySQL来说,
TIMESTAMP 值存储为自纪元 ('1970-01-01 00:00:00' UTC) 以来的秒数`
PostgreSQL 版本小于或等于9.6时
时间戳值存储为午夜 2000-01-01 之前或之后的秒数
对于版本大于或等于 10 的PostgreSQL ,没有对此的解释
我有两个关于PostgreSQL内部逻辑的问题。
1970-01-01 00:00:00 UTC
。J2000纪元从 开始 12 noon (midday) on January 1, 2000
。似乎只有少数系统使用2000-01-01 00:00:00
。
由于 PostgreSQL 提供了将 UNIX 纪元转换为时间戳的函数to_timestamp
,反之亦然EXTRACT(EPOCH FROM ...)
,因此使用与 UNIX 纪元不同的标准似乎需要额外的偏移计算。