SQL Server中IST中的日期

时间:2011-10-03 09:55:54

标签: sql-server-2008 datetime

我的服务器托管在美国或其他一些时区。是否有选项可以在印度标准时间内获取SQL Server中的当前日期。

select getdate()

我应该写什么才能获得印度(或其他国家/地区)的当前时间。

2 个答案:

答案 0 :(得分:12)

您应该使用包含时区的DATETIMEOFFSET数据类型和SWITCHOFFSET方法在时区之间切换。另外:要获取当前时间,请使用SYSDATETIMEOFFSET()代替GETDATE()

-- gets current date/time in the current timezone
SELECT 
SYSDATETIMEOFFSET()

-- get the current date/time in your preferred timezone +05:30 UTC being Indian Std. Time
SELECT 
SWITCHOFFSET(SYSDATETIMEOFFSET(), '+05:30')

答案 1 :(得分:0)

根据this link,印度的时间是9:30 hours ahead来自美国。因此,为了获得印度时间,您需要将9.30 hours添加到美国时间。

SELECT DATEADD(hh,9.30,getdate())