读书人

急求:返回指定时间的UTC时间,该怎么处

发布时间: 2012-01-16 23:36:51 作者: rapoo

急求:返回指定时间的UTC时间
请教一下
select GETUTCDATE()是返回当前系统的UTC时间.
那有没有办法返回指定日期时间的UTC时间哦?
最好有一个这样的方法:
select GETUTCDATE( '2006-01-01 12:01:10.123 ')



[解决办法]
select convert(varchar(30), getdate(), 120)
[解决办法]
--try

select convert(datetime, '2006-01-01 12:01:10.123 ', 121)
[解决办法]
select dateadd(hh,datediff(hh,GETDATE(),GETUTCDATE()), '2006-01-01 12:01:10.123 ')
[解决办法]

--其中时间串,替换为你的时间字段或变量即可。

select dateadd(hh,datediff(hh,getdate(),GETUTCDATE()), '2007-02-06 18:00:06 ')


declare @date datetime

set @date = '2007-02-06 18:00:06 '

select dateadd(hh,datediff(hh,getdate(),GETUTCDATE()),@date)

[解决办法]

--创建自定义函数,注意:自定义函数中不能直接使用getdate()、getUTCDate()函数,必须作为参数传入

create function GetUTCDate2(@now datetime, @UTC datetime, @inputPara datetime)
RETURNS datetime AS
BEGIN
declare @return datetime

set @return = dateadd(hh,datediff(hh,@now,@UTC),@inputPara)

RETURN @return
END
go


select dbo.GetUTCDate2(getdate(),GETUTCDATE(), '2007-05-20 18:06:09 ')


drop function GetUTCDate2
go

读书人网 >SQL Server

热点推荐