Конвертировать отметку времени 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 и оставьте ваши даты в качестве дат в базе данных.