gpt4 book ai didi

postgresql - 如何提取时区过去和已知 future 偏移量变化的列表

转载 作者:行者123 更新时间:2023-11-29 12:17:27 26 4
gpt4 key购买 nike

Postgresql 使用经典的 tzdata 数据库非常擅长处理时区。

服务器可以在不同时区之间转换过去和 future 的时间戳,遵循 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

最佳答案

select d::date
from (
select
d at time zone 'America/Los_Angeles' as la,
lead(d at time zone 'America/Los_Angeles') over (order by d) as la_,
d
from generate_series (
'2017-01-01'::timestamp,
'2017-12-31', '1 day'
) gs (d)
) s
where la::time <> la_::time;
d
------------
2017-03-12
2017-11-05

关于postgresql - 如何提取时区过去和已知 future 偏移量变化的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45381924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com