SQL将GETUTCDATE转换为nvarchar时区,如“东部标准时间”

时间:2015-09-08 19:28:13

标签: sql datetime

我想使用时区字符串(如“东部标准时间”)或位于GETUTCDATE()下的注册表中的任何时区字符串将HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones调用转换为时区。有没有办法做到这一点,还是我冒险进入SQLCLR领域?

我见过的当前建议:

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。有什么建议?提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用

  

SYSDATETIMEOFFSET()在“东部标准时间”时区

这将返回日期时间,并在您指定的区域中偏移。可以轻松地将其转换为datetime,datetime2