Преобразование строки времени 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;
Другие вопросы по тегам