Преобразование строки времени UTC в время Unix
В моей базе данных я храню время как значение 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 ответ
Если вы сохраните его как метку времени вместо bigint, это произойдет автоматически, просто установив часовой пояс.
Кроме того, я не очень понимаю, что ты делаешь. Вы храните unixtime как правильный столбец bigint? Так что я не понимаю, почему вы используете unix_timestamp()
функция - которая преобразует в unixtime, а не из него.
Я думаю, это то, что вам нужно:
SET time_zone = '+0:00';
SELECT FROM_UNIXTIME(col) FROM table;