gpt4 book ai didi

mysql - 如何在本地正确设置 UNIX_TIMESTAMP?

转载 作者:行者123 更新时间:2023-11-29 06:12:40 28 4
gpt4 key购买 nike

我有一个表,其中有一列名为 date_time。它包含时间的 unix 编号。像这样:

// mytable
+----+------------+
| id | date_time |
+----+------------+
| 1 | 1464499385 | -- 19 days ago
+----+------------+
-- ^ these are based on current time which is 1464566088

也是我的查询:

SELECT id,
(CASE WHEN FROM_UNIXTIME(date_time) >= CURDATE() THEN 'today'
WHEN FROM_UNIXTIME(date_time) >= DATE_SUB(CURDATE(), INTERVAL 1 DAY) THEN 'yesteray'
WHEN FROM_UNIXTIME(date_time) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) THEN 'in last week'
ELSE 'in last month or more'
END) as `range`
FROM mytable
WHERE 1;

在本地上面的查询结果与 on fiddle 不一样。

在本地:enter image description here

如您所见,local 上的结果是 yesterday,而 fiddle 上的结果是 today。为什么会有不同,我该如何解决?


注意:当我在本地和 fiddle 上选择 UNIX_TIMESTAMP 时,会有不同。

SELECT UNIX_TIMESTAMP(); -- 1464566511 (on local)
SELECT UNIX_TIMESTAMP(); -- 1464562972 (on fiddle)

那么如何设置完全相同呢?

最佳答案

Sql fiddle 服务器在不同的时区。

采用“UTC - 您的时区”并从您的时间戳中减去那么多间隔时间

您可以使用 convert_tz 进行差值转换:

SELECT CONVERT_TZ(datetime,'+00:00','-10:00');

Convert _TZ MySql文件

您可以使用 UTC 谷歌时间并计算差值,或者您可以将全局 tinezone 设置为本地 some support on that

关于mysql - 如何在本地正确设置 UNIX_TIMESTAMP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37515869/

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