如何将 SQL Server UTC DATE 配置为与 Windows 服务器相同?

How to configure the SQLServer UTCDATE to be the same as the Windows Server?

我有一个 table 其中一个列显示日期时间值:

--result when querying the database directly:
id    datetime
1     2019-05-29 05:12:06.000
2     2019-01-29 10:48:34.000

但是通过网络浏览器,这样的值是+3小时:

--values when displayed in a Primefaces datatable from the Web Server:
id    datetime
1     2019-05-29 08:12:06.000
2     2019-01-29 13:48:34.000

我已经研究并意识到这 +3 小时发生在 SQL 服务器:

SELECT GETDATE()   : 2019-06-19 11:48:53.483
SELECT GETUTCDATE(): 2019-06-19 14:48:53.483 

关于 GETUTCDATE,如 here 所述:此值源自 计算机的操作系统,SQL 服务器实例位于该计算机上运行.

但我检查了 OS 时区,似乎没问题:

SQL服务器实例和 Windows 服务器安装在 VM 中。

如何将 SQL 服务器中的 UTC 日期配置为与 OS 相同,从而避免如上所述的 +3 小时?

提前致谢。

How can I configure the UTC Date in SQL Server to be the same as the OS, avoiding this +3 hours as described above ?

正如问题评论中所讨论的,UTC 日期和时间是不可更改的。通过更改系统时区,只能更改本地日期和时间。如果您希望它们是相同的值,则将系统时区更改为“(UTC) Coordinated Universal Time”。

解决这个问题的唯一方法是手动设置时钟而不是同步时钟,并谎报实际时间。不推荐这样做,因为许多事情需要准确的时间才能正常工作。