在我的数据库中,我将时间存储为BIGINT UTC值。
在我的测试数据SQL转储中,我希望看到UTC的可读性时间。但是,MySQL unix_timestamp函数需要时间在本地时区,我正试图避免。
我环顾四周,发现将UTC时间字符串转换为unix时间戳的唯一方法是使用以下表达式:
SELECT unix_timestamp(CONVERT_TZ('2011-08-08 06:00:00','UTC',@@global.time_zone))
有更好的方法吗?
答案 0 :(得分:1)
如果您将其存储为时间戳而不是bigint,则只需设置时区即可自动生成。
另外,我真的不明白你在做什么。您正在存储unixtime作为bigint列正确吗?所以我不明白为什么你使用unix_timestamp()
函数 - 转换为unixtime而不是它。
我想这就是你需要的:
SET time_zone = '+0:00';
SELECT FROM_UNIXTIME(col) FROM table;