急求:返回指定时间的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