Postgresql - 当日期范围跨越到BST时的时区

时间:2014-04-16 10:17:40

标签: postgresql timezone

我有一个非常简单的表,其中包含一个存储timestampz值的start_date字段(UTC datetime)。我需要返回表中包含的日期,并根据British Summer Time(BST)进行调整,但我遇到的问题是AT TIME ZONE BST会增加1小时UTC日期,不论其价值如何;如果日期发生在February(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

1 个答案:

答案 0 :(得分:4)

BST按定义UTC+01:00。所以它按预期工作。 Use Europe/London获得您想要的结果。