我需要帮助将保存为bigint号1538397000000的UTC日期转换为CST日期时间。我努力了
select
Dateadd(s,convert(Bigint,1538397000000/1000,convert(datetime,'1-1-1970'))
您可以创建将UTC转换为本地时间的功能。假设您的上述代码正确地将bigint
转换为正确的UTC日期/时间值,则以下内容将该值转换为CST。
create function UTCDateTimeToLocal(@value datetime) returns datetime as
begin
declare @utc datetime = getutcdate()
,@local datetime = getdate()
,@diff int
,@rtn datetime
set @diff = datediff(millisecond, @utc, @local)
set @rtn = dateadd(millisecond, @diff, @value)
return @rtn
end
go
select dbo.UTCDateTimeToLocal(dateadd(s,cast(1538397000000/1000 as bigint),convert(datetime,'1-1-1970')))
--drop function UTCDateTimeToLocal