gpt4 book ai didi

mysql - SELECT UTC_TIMESTAMP() 如何返回 -10 :00 UTC?

转载 作者:可可西里 更新时间:2023-11-01 06:36:06 25 4
gpt4 key购买 nike

要么是我太蠢了,要么是哪里出了问题。

我有两个 SQL Server,一个在我的本地机器上(本地时间 +2 GMT),另一个在其他地方(NOW() 似乎返回+8 GMT),我通过 phpMyAdmin 访问它。我有一个包含 DATETIME 列的表。我在努力

to store the current GMT/UTC time and then display it again, still as GMT/UTC time.

最初我存储了 DATE_SUB(NOW(), INTERVAL 8 HOUR),效果很好。然而,后来我阅读了有关 UTC_TIMESTAMP() 的内容并更喜欢它,因为它更短而且 MySQL manual甚至说:

"The current time zone setting does not affect values displayed by functions such as UTC_TIMESTAMP() or values in DATE, TIME, or DATETIME columns."

太完美了吧?除了没有。

让我们假设当前的 GMT 是 2010-02-18 17:18:17(我什至与英国的某个人核实过)。

我的本地 (+2) 服务器上,我得到以下查询的结果:

SELECT NOW(); 2010-02-18 19:18:17

SELECT UTC_TIMESTAMP(); 2010-02-18 17:18:17

我的在线服务器上,我得到:

SELECT NOW(); 2010-02-19 01:18:17

SELECT UTC_TIMESTAMP(); 2010-02-19 07:18:17 (WHY?!)

我是不是漏掉了什么?!

最佳答案

可能是因为在线服务器上的时钟有误?

尝试运行这个:

SELECT  @@system_time_zone, NOW(), UTC_TIMESTAMP()

并查看它返回哪个区域并匹配差异。

关于mysql - SELECT UTC_TIMESTAMP() 如何返回 -10 :00 UTC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2290725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com