php - timestampdiff - sumar dias a una fecha mysql
¿Cómo restar usando SQL en MYSQL entre dos valores de fecha y hora y recuperar el resultado en minutos o segundos? (5)
Quiero restar entre dos valores de fecha y hora usando SQL en MySQL de manera que obtengo el intervalo en minutos o segundos. ¿Algunas ideas? Quiero ejecutar una consulta SQL que recupere usos de una base de datos que haya iniciado sesión como 10 minutos desde el momento.
Hay funciones TIMEDIFF (expr1, expr2), que devuelve el valor de expr1-expr2, y TIME_TO_SEC (expr3), que expresa expr1 en segundos.
Tenga en cuenta que expr1 y expr2 son valores de fecha y hora, y expr3 es solo un valor de tiempo.
Mira este enlace para más información.
Lo haría así: buscar dónde está la última actividad dentro de los 10 minutos de ahora
SELECT * FROM table WHERE last_activity >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)
Puede probar y enviarlos a la marca de tiempo Unix, y tomar la diferencia.
SELECT TIMESTAMPDIFF (MINUTE, LogOutTime, LogInTime) AS TimeLoggedIn FROM LogTable
Este ejemplo arruinará el tiempo si se usa al usar un tiempo millitary. Entonces, para calcular el tiempo millitairy no lo recomiendo porque arroja valores negativos.
TIMESTAMPDIFF es como TIMEDIFF, lo que dice Matthew, excepto que devuelve la diferencia de los dos datetimes en las unidades que desee (segundos, minutos, horas, etc.).
Por ejemplo,
SELECT TIMESTAMPDIFF(MINUTE,LogOutTime,LogInTime) AS TimeLoggedIn
FROM LogTable
Devolvería la cantidad de minutos que el usuario inició sesión (suponiendo que haya almacenado este tipo de cosas en una tabla como esa).