我的服务器在美国或其他一些时区托管。是否有选项可以在印度标准时间获取SQL Server中的当前日期。在SQL Server中的IST中的日期
select getdate()
我应该写什么来获得印度(或其他国家)的当前时间。
我的服务器在美国或其他一些时区托管。是否有选项可以在印度标准时间获取SQL Server中的当前日期。在SQL Server中的IST中的日期
select getdate()
我应该写什么来获得印度(或其他国家)的当前时间。
应该使用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')
根据this link印度的时间是从美国9:30 hours ahead
。因此,为了获得印度时间,您需要在美国时间添加9.30 hours
。
SELECT DATEADD(hh,9.30,getdate())
在SQL Server 2008中,这将是更可取的使用'DATETIMEOFFSET'其中包括时区,而'SWITCHOFFSET'切换时区之间的日期/时间... –
与9.30的日期加载不起作用。它应该是n与570其中n是分钟和9 * 60 + 30 = 540 –
@marc_s:感谢您的信息,它很好学习新东西! – NaveenBhat
嗨@marc_s你可以让我知道如何从结果中删除时区偏移值。现在我将它作为10/3/2011 4:07:31 PM +05:30。我不需要+05:30结果 –
@AkhilKNambiar:只需使用CAST(SWITCHOFFSET(SYSDATETIMEOFFSET(),'+05:30')AS DATETIME)'那就应该这样做 –