gpt4 book ai didi

oracle10g - 如何查找特定的 TIMESTAMP WITH TIME ZONE 是否在夏令时之内

转载 作者:行者123 更新时间:2023-12-02 05:12:41 27 4
gpt4 key购买 nike

我有一个应用程序以格林威治标准时间存储时间,但与具有 Olsen tz 名称(如“美国/纽约”)的机场相关联。

我需要确定给定日期是否在本地夏令时内。

我能找到的最接近的是 TZ_OFFSET('Tzname'),但没有简单的方法来获取相对于某个日期的下一个 DST 开始/结束时间。

这似乎是朝着正确方向迈出的一步......

选择 cast (mydate as timestamp) at time zone 'GMT' as mydateZ,from_tz(cast (mydate as timestamp),'GMT') at time zone myzoneName as mydateLocal

最佳答案

考虑到类似的问题,我针对您的问题写了以下查询:

select decode(to_char(from_tz(cast (sysdate as timestamp),'CET'),'TZR'),
to_char(from_tz(cast (sysdate as timestamp),'CET'),'TZD'),'N','Y') is_daylight
from dual

简短说明:我将时区 ('CET') 中的当前日期 (sysdate) 转换为时间戳,并比较时区的正常名称 ('TZR') 和夏令时名称 ('TZD')。如果它们匹配,则 sysdate 不在夏令时内,如果它们不匹配(例如 sysdate-100 是“CET”时区的“CEST”),则日期在夏令时内。日期和时区可以是查询的参数。

关于oracle10g - 如何查找特定的 TIMESTAMP WITH TIME ZONE 是否在夏令时之内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4073824/

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