【发布时间】:2014-05-12 18:43:08
【问题描述】:
在 9.3.3 上,如果运行:
select
EXTRACT(TIMEZONE FROM timestamp with time zone '1911-03-01 00:00 -8:00:00'),
EXTRACT(TIMEZONE FROM timestamp with time zone '1911-05-15 00:00 -8:00:00'),
EXTRACT(TIMEZONE FROM timestamp with time zone '1917-03-01 00:00 -8:00:00'),
EXTRACT(TIMEZONE FROM timestamp with time zone '1917-05-15 00:00 -8:00:00'),
EXTRACT(TIMEZONE FROM timestamp with time zone '1967-03-01 00:00 -8:00:00'),
EXTRACT(TIMEZONE FROM timestamp with time zone '1967-05-15 00:00 -8:00:00'),
EXTRACT(TIMEZONE FROM timestamp with time zone '1968-03-01 00:00 -8:00:00'),
EXTRACT(TIMEZONE FROM timestamp with time zone '1968-05-15 00:00 -8:00:00');
得到以下结果:
0;0;
0;3600;
0;3600;
3600;3600
(第一次是拉斯维加斯的创始日,后面几个是我用来调试的问题)
似乎在 1911 年左右没有偏移量,1911 年和 1967 年之间的偏移量在夏季而不是冬季,然后从 1968 年开始总是有一个。这似乎有点奇怪。有谁知道这里的偏移量是怎么回事,这是否是预期的行为,或者我的 linux 设置中是否有一些我可能会改变的东西?
【问题讨论】:
-
你的时区是哪个?
-
我在伦敦,刚刚进入夏令时(因此我调查了时区!)。
-
我不是在问你的“真实”时区,而是你在 postgresql 中配置的时区(这会影响结果)。运行`显示时区;`
-
"-8:00:00" 不是时区!这只是一个偏移量。
标签: postgresql timezone timestamp-with-timezone