sql server convert datetime into another timezone?

2020-02-06 09:40发布

How do I convert the current time (datetime) in my timezone into another timezone, say France ? I looked around in SO, but did not find any posts which could help me. I am using SQL server 2008.

3条回答
beautiful°
2楼-- · 2020-02-06 10:18
 select CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'+05:30')) Date_India,

 select CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'+03:30')) Date_Iran

check here

查看更多
我想做一个坏孩纸
3楼-- · 2020-02-06 10:20

I also agree the correct SQL Query is using GetUTCDate() as you see in the screenshot.

select CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'+05:30')) Date_India_withUtcDate

enter image description here

查看更多
我想做一个坏孩纸
4楼-- · 2020-02-06 10:26

Please replace getdate() with GetUTCDate() to get accurate result otherwise the offset (5:30) in this case will be added to the current time (which will already have some offset) and will result in incorrect result.

For instance if you are in Pakistan then GetDate() will give you time as GMT+5:00 and adding 5:50 offset in this time will result in GMT + 10:30 which is totally wrong.

查看更多
登录 后发表回答