0

在我的数据库中,我将时间存储为 BIGINT UTC 值。

在我的测试数据 SQL 转储中,为了便于阅读,我想查看 UTC 时间。但是,MySQL unix_timestamp 函数需要本地时区的时间,这是我试图避免的。

我环顾四周,发现将 UTC 时间字符串转换为 unix 时间戳的唯一方法是使用以下表达式:

SELECT unix_timestamp(CONVERT_TZ('2011-08-08 06:00:00','UTC',@@global.time_zone))

有一个更好的方法吗?

4

1 回答 1

1

如果您将其存储为时间戳而不是 bigint,只需设置时区即可自动发生。

另外,我真的不明白你在做什么。您将 unixtime 存储为您的 bigint 列是否正确?所以我不明白你为什么使用这个unix_timestamp()函数——它转换为一个 unixtime,而不是从它。

我想这就是你需要的:

SET time_zone = '+0:00';
SELECT FROM_UNIXTIME(col) FROM table;
于 2011-08-09T08:04:29.017 回答