1

根据 Postgres 文档at time zone可以采用 ISO-8601 样式时间偏移或标准时区缩写。

http://www.postgresql.org/docs/9.1/static/datatype-datetime.html#DATATYPE-TIMEZONE-TABLE

IST 代表 Postgres 中的以色列标准时间,偏移量为 +02:00。示例 当格林威治 (GMT) 星期三凌晨 12:00 时,以色列 (IST) 星期三凌晨 02:00

所以下面的 2 个语句应该是等价的:

select cast('2012-07-02 00:00:00' as timestamp without time zone) at time zone 'IST';

select cast('2012-07-02 00:00:00' as timestamp without time zone) at time zone '+02:00';

但他们不是。两种说法都给出不同的结果。

改成+02:00解决-02:00问题。此行为与文档不一致。我错过了什么吗?我从文档(以及一般惯例)中了解到,格林威治标准时间以东的时区具有正偏移,而右侧的时区具有负偏移。那么这里发生了什么?

4

0 回答 0