PostgreSQL-日期范围越过BST的时区

Tre*_*ler 3 postgresql timezone

我有一个非常简单的表,其中包含一个timestampz存储UTC datetime值的start_date字段()。我需要返回调整为British Summer Time(BST)的表格中包含的日期,但是我遇到的问题是,AT TIME ZONE BST会将UTC日期增加1小时,而不管它们的值如何;如果日期发生在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 
Run Code Online (Sandbox Code Playgroud)

将两个值加+ 01小时

2014-02-16 00:01:000
2014-04-16 00:01:000
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法可以实现以下目标?

2014-02-16 00:00:000
2014-04-16 00:01:000
Run Code Online (Sandbox Code Playgroud)

Pet*_*lin 5

BST根据定义UTC+01:00。因此它按预期工作。使用 Europe/London得到你想要的结果。