获取特定时区的特定日期

时间:2019-11-06 16:39:23

标签: sql sql-server

我正在尝试从格林威治标准时间的数据库中获取给定日期。所以我需要不断解决差异。

DECLARE @date datetime
DECLARE @tempdate datetime = '3/1/2019'
SET @date =  @tempdate AT TIME ZONE 'UTC' AT TIME ZONE 'Central Standard 
Time'
SELECT @date

上面的代码会在3月1日之前几个小时生成一个日期(因为我在美国)。是否有一种通用方法可以始终在任何期望的日期获取中央时间?

1 个答案:

答案 0 :(得分:0)

如果您尝试将UTC时间转换为美国中部时间,那么接收早于UTC时间的中部时间确实是正常的。太阳首先在格林威治升起,然后在芝加哥升起,所以三月首先在UTC区域开始,比在芝加哥早几个小时。其他月份也一样! :)