0

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

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

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

如何做到这一点?

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

4

1 回答 1

2

尝试如下

— 将 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 
于 2018-10-15T06:34:45.670 回答