确定夏令时是否有效? SQL服务器

2024-01-08

我有一个包含用户、UTC 时间偏移以及他们是否遵守夏令时的表。是否有内置方法可以获取正确的用户时间?


这并非在所有情况下都有效,但对于美国 DST 定义为 3 月第 2 个星期日到 11 月第 1 个星期日之间的用户来说,这是一个快速解决方案。

DECLARE @Date datetime2 = '2018-11-04 02:01:00'

SELECT 
    CASE 
        WHEN @Date between
            DATETIMEFROMPARTS(YEAR(@Date), 3, (8 - DATEPART(WEEKDAY, DATEFROMPARTS(YEAR(@Date), 3, 1))) + 8, 02, 00, 00, 00)
            and
            DATETIMEFROMPARTS(YEAR(@Date), 11, (8 - DATEPART(WEEKDAY, DATEFROMPARTS(YEAR(@Date), 11, 1))) + 1, 02, 00, 00, 00)
        THEN 1
        ELSE 0
    END --Is it dst?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

确定夏令时是否有效? SQL服务器 的相关文章

随机推荐