gpt4 book ai didi

oracle - 在 Oracle 中,如何检测夏令时开始/结束的日期?

转载 作者:行者123 更新时间:2023-12-04 17:06:11 24 4
gpt4 key购买 nike

Oracle 中有没有办法选择为我的语言环境切换夏令时的日期?

与此模糊等效的东西会很好:

SELECT CHANGEOVER_DATE
FROM SOME_SYSTEM_TABLE
WHERE DATE_TYPE = 'DAYLIGHT_SAVINGS_CHANGEOVER'
AND TO_CHAR(CHANGEOVER_DATE,'YYYY') = TO_CHAR(SYSDATE,'YYYY'); -- in the current year

编辑:我希望有一个解决方案,在国会调整夏令时法律时不需要更改,就像他们在 2007 年所做的那样。不过,发布的解决方案将起作用。

最佳答案

为了改进 Leigh Riffel 的回答,使用相同的逻辑要简单得多:

Function DaylightSavingTimeStart (p_Date IN Date)
Return Date Is
Begin
Return NEXT_DAY(TO_DATE(to_char(p_Date,'YYYY') || '/03/01 02:00 AM', 'YYYY/MM/DD HH:MI AM') - 1, 'SUN') + 7;
End;

Function DaylightSavingTimeEnd (p_Date IN Date)
Return Date Is
Begin
Return NEXT_DAY(TO_DATE(to_char(p_Date,'YYYY') || '/11/01 02:00 AM', 'YYYY/MM/DD HH:MI AM') - 1, 'SUN');
End;

关于oracle - 在 Oracle 中,如何检测夏令时开始/结束的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/287563/

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