【发布时间】:2014-01-24 08:17:12
【问题描述】:
尝试在 PostgreSQL 中输出 timestamp with time zone。
我已经尝试了几个参数,前两个很好。
(1):
select time at time zone 'UTC' from sf where id='365498691097858048';
它输出:
2013-08-08 15:44:13
(2):
select time at time zone 'PDT' from sf where id='365498691097858048';
输出
2013-08-08 08:44:13
但是第三个让我很困惑:
(3):
select time at time zone <b>'UTC-07'</b> from sf where id='365498691097858048';
2013-08-08 <b>22:44:13</b>
'UTC-07'和'PDT'一样,为什么输出完全不同?
【问题讨论】:
-
而
time应该是一个列的名称 .. 什么?timestamp还是timestamp with time zone?我找不到你的表定义。无论哪种方式,都不要使用保留字time作为列名 - 对于不同数据类型的列更不用说。 -
也许 PostgreSQL 看到
UTC-07,解析到UTC并进入“我知道那个时区”,忽略-07后缀。如果是这样,我无法在我的 9.3 安装中重现它 - 你运行的是什么 PostgreSQL 版本? (始终在问题中包含您的 PostgreSQL 版本)。 -
@ErwinBrandstetter ,您好,这是带时区的时间戳。
标签: postgresql timezone timestamp