1
我想将GETUTCDATE()
调用转换为使用时区字符串(如'东部标准时间')或位于注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
下的任何时区字符串的时区。有没有办法做到这一点,或者我冒险进入SQLCLR领域?SQL将GETUTCDATE转换为像'东部标准时间'那样的nvarchar时区
当前的建议,我已经看到了:
print CONVERT(datetime2, DATEADD(HOUR, -4, GETUTCDATE()))
输出:
2015-09-08 15:22:50.5000000
我想看看这个与DST合作。
是这样的可能吗?
print CONVERT(datetime2, DATEADD(HOUR, 'Eastern Standard Time', GETUTCDATE()))
我有SQL Server 2012 Standard可以使用。有什么建议么?先谢谢你!
谢谢marc_s的评论。我将使用这种数据类型。这让我非常接近!我需要的最后一部分是'-05:00'是'太平洋标准时间'之类的东西。我已经存储了该字符串值(任何timezone LIKE'太平洋标准时间'),并希望摆脱寻找静态值。 – Cactuar167
@ Cactuar167:我不认为SQL Server对此有任何内置支持。您可能需要自己创建一个查找表,其中包含像“Pacific Standard Time”这样的明文时区,并跟踪该时区的时间偏移量,以便通过SWITCHOFFSET‖使用该时间偏移量。 –
再次感谢marc_s,这很有帮助! – Cactuar167