【发布时间】:2019-04-02 17:36:59
【问题描述】:
我正在尝试更新我的一张表的某个字段中的时区。我已经尝试了一些 SO 帖子中看到的几种方式,但似乎没有任何改变实际时区值。
任何人都可以解释为什么......
select
now(),
extract(timezone from now()) * interval '1sec',
(now()::timestamp || 'PST8PDT')::timestamptz,
extract(timezone from (now()::timestamp || 'PST8PDT')::timestamptz) * interval '1sec'
所有这些字段都具有相同的时区?我在福塔莱萨/巴西的结果是:
2018-10-29 14:52:04.55495-03 | -03:00:00 | 2018-10-29 18:52:04.55495-03 | -03:00:00"
为什么?最后 2 个值不应该有 PST 时区吗?
我如何才能真正更改 timestamp with time zone 字段的时区?
【问题讨论】:
-
不要使用
PST8PDT。使用基于地区的标识符,例如美国太平洋时间的America/Los_Angeles。对于您的时区,请使用America/Fotraleza。
标签: postgresql timezone timestamp-with-timezone