我的服务器在加利福尼亚州,ATM以PDT偏移返回时间:-07:00。我可以很容易地将它转换为UTC:
SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(), '+00:00')
然而,我真正想要的是西欧时间(AKA伦敦时间),目前是+00:00,但在几周内将是+01:00。我宁愿不建立世界不同地区进入和离开夏令时的逻辑。
MS SQL不支持时区名称作为SWITCHOFFSET()
中的参数。获得一个“真实世界”的时区是否有一些技巧,而不仅仅是一个偏移?这个话题对谷歌来说非常困难;关于DATETIMEOFFSET
现在如何可用,有很多文章,但很少有关于如何利用它的文章。
Here's关于SWITCHOFFSET()
的MS文章。我没有看到到达实际的当地时区。
对于.NET here,有一个非常好的问题,但我想在不设置CLR的情况下这样做。