我们的服务器位于美国的CST时区,CST时区比UTC时区落后6小时。由于是夏令时,现在相差5小时。
GETDATE
函数返回正确的本地时间,但GETUTCDATE
返回错误的UTC时间。 GETUTCDATE
返回CST之前7小时(UTC + 2:00)的时间。
检查服务器的时区,并将其设置为CST时区(UTC - 6:00),并关闭“自动设置时区”选项。
我不确定还有什么要检查的。
答案 0 :(得分:0)
"自动设置时区"是Windows 10 / Server 2016中添加的便利。它使用可用的位置信息来设置时区。这不是必需的,在服务器上真的不重要。事实上,最佳做法是故意将服务器设置为UTC时区,以便本地时差不会干扰。您可能希望考虑该选项。
但是,有几件事需要检查:
您的服务器时钟是否与可靠的时间源同步?
w32tm /query /source
。[DateTime]::UtcNow
。 (时区或夏令时设置都不会影响结果。)如果系统配置为本地时区,则"自动调整夏令时" (或"自动调节夏令时的时钟"在较旧的控制面板设置中)是否已打开?绝对不应禁用此设置。它仅用于遗留目的。
tzutil /g
。如果结果名称中包含_dstoff
,那么您应该重新打开它。