如何将 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”。
解决这个问题的唯一方法是手动设置时钟而不是同步时钟,并谎报实际时间。不推荐这样做,因为许多事情需要准确的时间才能正常工作。
我有一个 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”。
解决这个问题的唯一方法是手动设置时钟而不是同步时钟,并谎报实际时间。不推荐这样做,因为许多事情需要准确的时间才能正常工作。