UTC日期到CST日期

时间:2019-02-08 22:16:57

标签: tsql

我需要帮助将保存为bigint数1538397000000的UTC日期转换为CST日期时间。 我尝试过

child_id

1 个答案:

答案 0 :(得分:1)

您可以创建一个将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