SQL Server 时区

Kel*_*lly 5 sql-server timezone

在 SQL Server 2008 R2 中,如果我这样做:

select SYSDATETIMEOFFSET() 
Run Code Online (Sandbox Code Playgroud)

我回到格林威治标准时间 -6。

运行 SQL Server 的 Windows 中的时区设置为 GMT -7。

任何想法为什么会有差异?我需要在 SQL Server 的某个地方设置时区吗?

Lee*_*Lee 3

我猜这是由于夏令时处于活动状态。您的时区的正式名称为“GMT-7”,这意味着通常(不在一年中的夏令时部分)您的时间比 GMT 早 7 小时。但在夏令时期间,该时间会进行调整(通常调整一个小时,但可能因时区而异)。因此,如果您当前处于夏令时,即使您位于“GMT-7”时区,您的时钟当前也仅为 GMT-6(比 GMT 早 6 小时)。我怀疑 SYSDATETIMEOFFSET() 正在告诉您当前与 GMT 的实际偏移量,而不是您所在时区与 GMT 的“正常”偏移量。