SQL SERVER将UTC DATETIME转换为本地日期时间

时间:2018-10-15 06:30:00

标签: sql sql-server

我有一个带有CreatedDateTime列的表,如下所示:

[CREATED_DATE_TIME] [datetime] NOT NULL DEFAULT GETUTCDATE()

当我检索创建的日期时间时,它给了我以UTC表示的datetime值,但是我想以本地时间显示datetime值。

如何实现?

期待您的回答并提前致谢。

1 个答案:

答案 0 :(得分:1)

尝试如下

—将UTC时间转换为本地时间

    DECLARE @UTCDate datetime
    DECLARE @LocalDate datetime
    DECLARE @TimeDiff int

—找出UTC与本地时间之间的时差

   SET @UTCDate = GETUTCDATE()
   SET @LocalDate = GETDATE()
   SET @TimeDiff = DATEDIFF(hh, @UTCDate, @LocalDate)

— Convert UTC to local time
DECLARE @DateYouWantToConvert datetime
DECLARE @ConvertedLocalTime datetime

SET @DateYouWantToConvert = '4/25/2007 18:00'
SET @ConvertedLocalTime = DATEADD(hh, @TimeDiff, @DateYouWantToConvert)

— Check Results
PRINT @ConvertedLocalTime