Postgresql - 日期范围跨入 BST 时的时区

标签 postgresql timezone

我有一个非常简单的表,其中包含一个存储 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/

相关文章:

PostgreSQL Idle In 事务诊断和读取pg_locks

sql - Golang pq sql 驱动程序 : get record ids after bulk import

java - 通过 JDBC 使用数据库时如何处理夏令时?

python : Converting time string with different timezone to host timezone datetime object?

c# - 我可以将对 System.Core.dll (.net 3.5) 的引用添加到 .net 2.0 应用程序并使用它吗

java - 如何在 GWT 中使用时区解析日期字符串

sql - 选择多对多关系中的所有子集

ruby-on-rails - rake 数据库:seed error 'rake aborted! Err no::ECONNREFUSED: Connection refused '

java - ClassCastException 与 Hibernate ManyToMany 连接查询

javascript - 奇怪的 Javascript 时区与 Date()