Конвертировать отметку времени MYSQL в time_t - PullRequest
4 голосов
/ 14 января 2010

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

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

Любая помощь очень ценится.

Ответы [ 2 ]

7 голосов
/ 15 января 2010

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

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

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

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

4 голосов
/ 15 января 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...