从当地时间获取美国的日期时间

Pra*_*ana 3 sql-server sql-server-2008

我可以通过GetDate()函数获取本地sql server的时间.Sql server机器在印度.

现在我想在同一个sql server上获取USA的当前日期时间,我该怎么办.

mar*_*c_s 9

您需要使用该SYSDATETIMEOFFSET呼叫(而不仅仅是GETDATE())来获取您当地时间的时区信息:

SELECT SYSDATETIMEOFFSET()
Run Code Online (Sandbox Code Playgroud)

然后你可以使用该SWITCHOFFSET函数来定义你感兴趣的新时区 - 基于UTC时间.所以美国的东海岸将是UTC -5小时

SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(), '-05:00') AS 'US East Coast'
Run Code Online (Sandbox Code Playgroud)

而西海岸是UTC -8小时:

SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(), '-08:00') AS 'US West Coast'
Run Code Online (Sandbox Code Playgroud)