我有一个非常简单的表,其中包含一个存储 UTC 日期时间
值的开始日期字段 (timestampz
)。我需要返回表中包含的日期,根据 英国夏令时间
(BST) 进行调整,但我遇到的问题是 AT TIME ZONE BST
增加了 1 小时到 UTC
日期,不管它们的值如何;如果日期发生在 二月
(在 BST 开始之前),则 UTC
值是正确的值。如果日期值来自 March
(BST 开始后),则 UTC
值需要添加 +01
。
表格数据
2014-02-16 00:00:000+00
2014-04-16 00:00:000+00
SELECT start_date AT TIME ZONE 'BST' from t1
为两个值增加 + 01 小时
2014-02-16 00:01:000
2014-04-16 00:01:000
是否有一种简单的方法可以实现以下目标?;
2014-02-16 00:00:000
2014-04-16 00:01:000
最佳答案
BST
根据定义 UTC+01:00
。所以它按预期工作。 Use Europe/London
以获得您想要的结果。
关于Postgresql - 日期范围跨入 BST 时的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23106522/