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

时间:2011-08-18 05:06:58

标签: sql-server sql-server-2008

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

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

3 个答案:

答案 0 :(得分:9)

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

SELECT SYSDATETIMEOFFSET()

然后您可以使用SWITCHOFFSET函数根据UTC时间定义您感兴趣的新时区。所以美国的东海岸将是UTC -5小时

SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(), '-05:00') AS 'US East Coast'

而西海岸是UTC -8小时:

SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(), '-08:00') AS 'US West Coast'

答案 1 :(得分:1)

你可以这样做

dateadd(hh,differense_between_India_and_USA,getdate())

美国时区:

太平洋标准时间(GMT -8)

山地标准时间(GMT -7)

中央标准时间(GMT -6)

东部标准时间(GMT -5)

阿拉斯加标准时间(GMT -9)

夏威夷标准时间和阿留申标准时间(GMT -10)

答案 2 :(得分:1)

您将从UTC时间(协调世界时)获得GMT

SELECT SYSUTCDATETIME()