夏令时于2018年3月25日周日凌晨1点生效,并将在我所在时区的2019年3月29日周日凌晨1点再次生效。
我知道sys.time_zone_info中有一个is_currently_dst标志,但我希望确定它自身的具体变化点。
这可以在SQL server中动态识别吗?
发布于 2018-12-04 20:58:56
简短的回答是:不。长答案:这是特定于操作系统的,目前SQL Server除了非常简单的sys.time_zone_info
之外,没有提供对DST规则的抽象。
您可以获取时区信息并使用专门的客户端库来获取调整规则。.NET具有TimeZoneInfo
,您可以使用CLR函数将此信息反映回SQL Server。还有third-party support (免责声明:没有经验)。
或者,2016提供AT TIME ZONE
来进行某些计算,这些计算可能会也可能不足以满足您的目的。它不允许您以直接的方式识别之前的更改,但它允许您确定DST是否对任何特定点有效(通过将时区偏移量与已知点进行比较)。
https://stackoverflow.com/questions/53611382
复制相似问题