0
我有将时间w.r.的记录转换为时区并将其与当前时间进行比较的要求。 为此,我想在SQL服务器中将时区的日期时间转换为GMT时区。在sql server中将时区的datetime转换为GMT
即(2015年1月12日11:30 +5:30 ---> GMT标准时间
而且是可以从SQL Server找出客户的时区
我有将时间w.r.的记录转换为时区并将其与当前时间进行比较的要求。 为此,我想在SQL服务器中将时区的日期时间转换为GMT时区。在sql server中将时区的datetime转换为GMT
即(2015年1月12日11:30 +5:30 ---> GMT标准时间
而且是可以从SQL Server找出客户的时区
如果你的日期时间是什么?存储为DATETIMEOFFSET(或可转换为它),你可以简单地转换为DATETIME2(假设你想保持DATETIMEOFFSET的精度):
declare @dt datetimeoffset
select @dt = 'Jan 12 2015 11:30 AM +05:30'
select convert(datetime2, @dt, 1)
它返回UTC时间:
2015-01-12 06:00:00.0000000
这与用户的时区无关,因为它只是根据您提供的偏移量进行UTC计算的时区。
你可以找到从SQL Server SQL Server的时区,但如果您的客户端是一个Web客户端,我不知道SQL服务器如何能够知道。你会想从你的应用程序获取这些信息并传递给它。 – paqogomez 2015-02-11 23:29:27
好的。我明白了。我如何将时区与日期时间转换为GMT时间? – 2015-02-11 23:31:17
有很多关于转换日期的文章。你读过多少本书?我把你的确切标题,并在谷歌,并提出了一个[相当不错的文章](http://stackoverflow.com/questions/21491577/need-a-sql-server-function-to-convert-local-datetime -to-utc-that-supports-dst),它解释了你想要做的事情的细微差别。 – paqogomez 2015-02-11 23:37:52