Итак, у меня есть таблица сеансов, которая по сути имеет следующие столбцы:MySQL дата сравнения от timestamp unix
session_id | user_agent | last_activity (в Отметка времени Unix)
Когда я попытался отобразить session_id и last_activity из сеанса, который создается 5 минут назад, используя этот запрос
SELECT session_id, from_unixtime('last_activity'/1000, '%Y-%m-%d %H:%i') AS session_time
FROM gw_sessions
WHERE last_activity >= unix_timestamp(CURRENT_TIMESTAMP - INTERVAL 5 MINUTE) * 1000
Это не работает.
Так что я пытался упростить мой запрос, чтобы только показать все сеансы (session_id и last_activity) с помощью следующего запроса
SELECT session_id, from_unixtime('last_activity'/1000, '%Y-%m-%d %H:%i') AS session_time
FROM gw_sessions
Результат показывает, как этот
session_id | session_time
abcdefg... --> 1970-01-01 07:00 (epoch)
Почему это не конвертировать правильно ли значение и как я могу сравнить две даты (сейчас()) с датой, хранящейся в формате unix, правильно?
Каковы тип поля и значение last_activity в базе данных? – medina
INT (10) со значением 1367481523, я сделал быструю конвертацию с помощью онлайн-инструмента, отметка времени представляет собой правильную дату. – Jeremy