将UTC时间字符串转换为Unix时间

时间:2011-08-09 08:00:44

标签: mysql convert-tz

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

在我的测试数据SQL转储中,我希望看到UTC的可读性时间。但是,MySQL unix_timestamp函数需要时间在本地时区,我正试图避免。

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

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

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

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

另外,我真的不明白你在做什么。您正在存储unixtime作为bigint列正确吗?所以我不明白为什么你使用unix_timestamp()函数 - 转换为unixtime而不是它。

我想这就是你需要的:

SET time_zone = '+0:00';
SELECT FROM_UNIXTIME(col) FROM table;