【问题标题】:How to configure the SQLServer UTCDATE to be the same as the Windows Server?如何将 SQL Server UTC DATE 配置为与 Windows Server 相同?
【发布时间】:2019-11-01 14:15:29
【问题描述】:

我有一个表格,其中一列显示日期时间值:

--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

我研究并意识到 SQL Server 中发生了这 +3 小时:

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

关于 GETUTCDATE,如 here 所述:此值源自运行 SQL Server 实例的计算机的操作系统 p>

但我检查了操作系统时区,似乎没问题:

SQLServer 实例和 Windows Server 安装在 VM 中。

如何将 SQL Server 中的 UTC 日期配置为与操作系统相同,避免上述 +3 小时?

提前致谢。

【问题讨论】:

  • 嗨。你的问题有点混乱,太宽泛了。你问的是 SQL Server 吗?还是Java?还是窗户?还是玻璃鱼?还是PrimeFaces?您可能正在使用所有这些东西,但不清楚具体如何或与您的问题相关。您最好从 Stack Overflow 帮助中心阅读 How do I ask a good question?How to create a Minimal, Reproducible Example。谢谢。
  • @Matt Johnson,即使旧问题有 1 票赞成,我已经重新制定了它,因为我发现这是一个 UTCDATE 问题。你能帮我吗?
  • GETDATE() = - = - 3 小时
  • 嗨,JMarcel。乐于助人——这就是我们来这里的目的。但同样,您只是表明您的 SQL Server 和操作系统运行正常。 GETDATE 返回本地时间,GETUTCDATE 返回 UTC 时间。如果您希望它们相同,则必须将系统时区设置为 UTC 而不是巴西利亚。
  • 也许您对 UTC 有误解? UTC 为 Coordinated Universal Time。它是调节时钟的时间标准。全世界都是一样的。巴西的情况与中国、纽约或澳大利亚没有任何不同。因此,假设您的计算机时钟与某个源(域控制器或 Internet 时间服务器)正确同步,那么 UTC 时间将始终相同。这是当地时间可能会有所不同。系统时区控制多少。

标签: sql-server sql-server-2008-r2 windows-server-2008-r2 utc


【解决方案1】:

如何将 SQL Server 中的 UTC 日期配置为与操作系统相同,避免上述 +3 小时?

正如问题 cmets 中所讨论的,UTC 日期和时间不是可以更改的。通过更改系统时区,只能更改本地日期和时间。如果您希望它们是相同的值,请将系统时区更改为“(UTC) 协调世界时”。

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

【讨论】:

  • 正如我在question 中发现的那样,在 VM 的操作系统中,我将 UTC-Brasilia 更改为 UTC- Coordinate Universal Time,然后手动调整时钟,现在 GETDATE 和 GETUTCDATE 相等.但即使这样做,+3 小时仍会通过 Java Web 应用程序显示。所以我将 JVM 设置为:-Duser.timezone=UTC 现在它按预期工作了!
  • 你不应该手动调整时钟。从受信任的来源(域控制器、互联网时间服务器等)自动设置时间
猜你喜欢
  • 2013-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-06
  • 2018-05-14
  • 1970-01-01
相关资源
最近更新 更多