我的数据库以 int 格式保存在 GMT 时区的日期值。我正在尝试将日期转换为本地时区,但是当日期是过去的日期时会出现问题,例如,在我的情况下,2012 年 12 月 1 日的偏移量将是 -5,2010 年 6 月 15 日的偏移量将是 -4 到期到夏令时。我目前在美国东部时间。
所以我需要知道前一个日期的 UTC 日期是什么,以便能够确定 -4 还是 -5 将是该日期的偏移量。
SELECT Test_Number,
Last_Test_Date, dateAdd(hour,
datediff(hour, GETUTCDATE(), getdate()), --UTC offset
dateadd(second, Last_Test_Date, '1/1/1970 12:00 AM'))
FROM TestTable
我不完全确定这是否可能。有什么意见吗?