Конвертировать отметку времени MYSQL в time_t

Я пишу многопоточную программу, которая должна быть в состоянии проверить, требует ли строка обновления, и действовать соответствующим образом.

У меня были проблемы с использованием встроенных функций даты / времени MySql, и поэтому я решил просто сохранить отметку времени "lastupdate" в виде целого числа в таблице. Однако у меня возникают проблемы с преобразованием этой временной метки в time_t, чтобы я мог использовать функции времени с ней.

Любая помощь с благодарностью.

2 ответа

Решение

Тип данных метки времени MySql может быть сохранен как число в формате ГГГГММДДЧЧММСС, ГГММДДЧЧММСС, ГГГГММДД или ГГММДД.

В Unix и POSIX-совместимых системах time_t обычно представляет собой целое число, которое представляет количество секунд с начала эпохи Unix: полночь UTC 1 января 1970 года.

В MySQL вы можете использовать функции UNIX_TIMESTAMP() и FROM_UNIXTIME() для преобразования значений TIMESTAMP в значения меток времени Unix.

Пример запроса: SELECT Unix_Timestamp(Date_Entered) FROM Foo;

Попробуйте FROM_UNIXTIME и TO_UNIXTIME и оставьте ваши даты в качестве дат в базе данных.

Другие вопросы по тегам