Преобразовать временную метку MYSQL в time_t
Вопрос
Я пишу многопоточную программу, которая должна иметь возможность проверять, требует ли строка обновления, и действовать соответствующим образом.
У меня были проблемы с использованием встроенных функций даты / времени MySQL, и поэтому я решил просто сохранить временную метку "lastupdate" как целое число в таблице.Однако у меня возникают проблемы с преобразованием этой временной метки в time_t, чтобы я мог использовать с ней функции time.
Любая помощь очень ценится.
Решение
В MySQL временная метка тип данных может храниться в виде числа либо в формате ГГГГ, либо в формате ГГГГ, либо в формате ГГГГ, либо в формате ГГГГ.
В системах, совместимых с Unix и POSIX, time_t обычно является целым числом, представляющим количество секунд с начала эпохи Unix:полночь по Гринвичу 1 января 1970 года.
В MySQL вы можете использовать UNIX_TIMESTAMP() UNIX_TIMESTAMP() и ИЗ_UNIXTIME() функции преобразуют значения временных меток между собой и значениями временных меток Unix.
Пример запроса: SELECT Unix_Timestamp(Date_Entered) FROM Foo;
Другие советы
Попробуйте FROM_UNIXTIME и TO_UNIXTIME и оставьте свои даты в качестве дат в базе данных.