Я хочу вычесть между двумя значениями времени даты, используя SQL в MySQL, так что я получаю интервал в минутах или секундах. Есть идеи? Я хочу запустить SQL-запрос, который извлекает из базы данных, которые вошли в систему, как 10 минут с момента.
Существуют функции TIMEDIFF (expr1, expr2), которые возвращают значение expr1-expr2 и TIME_TO_SEC (expr3), которое выражает expr1 в секундах.
Обратите внимание, что expr1 и expr2 являются значениями даты и времени, а expr3 – только значением времени.
Проверьте эту ссылку для получения дополнительной информации.
TIMESTAMPDIFF похож на TIMEDIFF, который утверждает Мэтью, за исключением того, что он возвращает разницу между двумя датами в любых единицах, которые вы хотите (секунды, минуты, часы и т. Д.).
Например,
SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn FROM LogTable
Будет возвращено количество минут, в течение которых пользователь был зарегистрирован (при условии, что вы сохранили этот тип вещей в такой таблице).
Я бы сделал это так: выберите, где последняя активность находится в пределах 10 минут
SELECT * FROM table WHERE last_activity >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)
Вы можете попробовать и отбросить их на печать Unix Time, и примите к сведению.
SELECT TIMESTAMPDIFF (MINUTE, LogOutTime, LogInTime) AS TimeLoggedIn FROM LogTable
Этот пример должен испортить время, если оно используется с использованием ведомого времени. Таким образом, для вычисления миллилитров я не рекомендую его, потому что он выводит отрицательные значения.