gpt4 book ai didi

mysql - FROM_UNIXTIME 到 MySQL 返回错误日期

转载 作者:行者123 更新时间:2023-11-29 20:05:39 32 4
gpt4 key购买 nike

我只是使用 FROM_UNIXTIME 插入到 MySQL,但它给出了错误的日期。我的查询是

INSERT INTO `phpc_occurrences`
SET `eid` = '15',
`time_type` = '0',
`start_ts` = FROM_UNIXTIME('1479189600'),
`end_ts` = FROM_UNIXTIME('1479232800');

1479189600 应该返回 Tue, 15 Nov 2016 06:00:00 GMT但我的本地 MySQL 数据库返回 Tue, 15 Nov 2016 13:00:00 GMT

我的电脑时区是 UTC +7,但我已经将其更改为 UTC 0,并且来自 MySQL 的日期仍然返回错误的值。

有人可以解释一下发生了什么吗?

最佳答案

请确保将 time_zone 变量更新为 GMT。例如,我当前的 time_zone 是 GMT+03,所以我得到:

select FROM_UNIXTIME('1479189600');
+-----------------------------+
| FROM_UNIXTIME('1479189600') |
+-----------------------------+
| 2016-11-15 09:00:00 |
+-----------------------------+

但是将 time_zone 更改为 UTC(GMT) 值会产生其他结果:

set time_zone='+00:00';
select FROM_UNIXTIME('1479189600');
+-----------------------------+
| FROM_UNIXTIME('1479189600') |
+-----------------------------+
| 2016-11-15 06:00:00 |
+-----------------------------+

也许 mysql 没有用你的系统时区更新它的内部 time_zone 变量?

您还应该注意您的字段“start_ts”和“end_ts”是否具有 TIMESTAMP 类型。如果是这样,则在插入表时您不必担心时间戳,只有当您选择某些数据时才重要,因为您的 mysql 客户端实际上确实从 TIMESTAMP 值(实际上只是一个 int32)转换为您当前的本地时间,所以您需要用所需的时区提示您的数据库客户端。

关于mysql - FROM_UNIXTIME 到 MySQL 返回错误日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40357217/

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