小编典典

SQL Server 2008-如何将GMT(UTC)日期时间转换为本地日期时间?

sql

我有一个插入procGETDATE()作为值之一传入,因为每个插入在插入时也会存储。它托管在使用GMT的SQL Azure上。

现在,当我收到消息时,我将每个消息的GMT日期存储在它们的时间戳列中,无论如何datetime,当我访问页面时,如何将其转换为本地时间?

谢谢。


阅读 210

收藏
2021-03-17

共1个答案

小编典典

您可以执行以下操作:

declare @InputUtcDateTime datetime2 = '2011-05-20 06:30:18'

declare @LocalDateTime datetime2 = dateadd(minute, datepart(TZoffset, sysdatetimeoffset()), @InputUtcDateTime)
print @LocalDateTime

或者

declare @InputUtcDateTime datetime2 = '2011-05-20 06:30:18'

declare @LocalDateTime datetime2 = dateadd(minute, datediff(minute, sysutcdatetime(), sysdatetime()), @InputUtcDateTime)
print @LocalDateTime
2021-03-17