【发布时间】:2014-07-19 22:38:55
【问题描述】:
我正在尝试将我的值存储在带有时区字段的时间戳中。从 1970 年开始以毫秒为单位。
select TO_CHAR(TO_TIMESTAMP(1401432881230), 'DD/MM/YYYY HH24:MI:SS.MS')
预期为30/5/2014 11:29:42 10:54:41.230,但得到
22/08/46379 23:27:02.000
【问题讨论】:
-
select TO_CHAR(TO_TIMESTAMP(1401432881222 / 1000), 'DD/MM/YYYY HH24:MI:SS') || '.' || (1401432881222%1000)是好的查询方式吗?返回30/05/2014 06:54:41.222 -
to_timestamp已经考虑了毫秒,这就是它接受浮点 unix 时间戳的原因。如果要存储真正的时间戳,只需存储它返回的内容。如果要格式化,使用MS显示毫秒。 -
但在我的例子中(select TO_CHAR(TO_TIMESTAMP(1401432881230), 'DD/MM/YYYY HH24:MI:SS.MS'))我按照你说的做。
标签: postgresql timestamp unix-timestamp milliseconds bigint