【发布时间】:2017-07-28 20:29:33
【问题描述】:
Postgresql 非常擅长处理时区,使用经典的 tzdata 数据库。
服务器可以按照 tzdata 中的规则(偏移量、dst 变化……)在不同时区之间转换过去和未来的时间戳
对于给定的时区和给定的日期范围,当时区修改事件发生时,是否有一种简单有效的方法来提取该范围内的所有时间戳?
结果应该或多或少包含zdump linux 命令的输出。
zdump -v /usr/share/zoneinfo/America/Los_Angeles | grep 2017
Sun Mar 12 09:59:59 2017 UTC = Sun Mar 12 01:59:59 2017 PST isdst=0 gmtoff=-28800
Sun Mar 12 10:00:00 2017 UTC = Sun Mar 12 03:00:00 2017 PDT isdst=1 gmtoff=-25200
Sun Nov 5 08:59:59 2017 UTC = Sun Nov 5 01:59:59 2017 PDT isdst=1 gmtoff=-25200
Sun Nov 5 09:00:00 2017 UTC = Sun Nov 5 01:00:00 2017 PST isdst=0 gmtoff=-28800
【问题讨论】:
-
必须在 postrgres 中吗?在应用程序代码中执行此操作可能更容易。
-
好吧,我宁愿把所有东西都放在一个地方,并且能够轻松地进行 JOIN。
标签: postgresql timezone tzdata