Tengo dos veces en base de datos MySQL comienzan y terminan 10:00 18:00 Ahora quiero comprobar con PHP si el tiempo no es mayor o menor de esto dos veces cómo hacerlo? Gracias MySQL se ha establecido a la vez Solo hay fecha y hora, básicamente, quiero comprobar si el tiempo ya no es entre inicio y fin. inicio = representan from2 y al final representar a to2. Day_id es día de la semana .este es lo que no funciona
$time_now = date("H:i");
//in DB format 00:00 // time
echo "SELECT * FROM opening_hrs WHERE
(TIME(from2) > TIME('".$time_now."') AND TIME(to2) < TIME('".$time_now."') )
AND day_id=".$day_id;
alguna idea de cómo comprobar el tiempo ( "H: I"); entre a los tiempos de DB?
Intentar esta consulta, utilizando noción de la hora actual de MySQL.
SELECT * FROM opening_hrs
WHERE TIME(NOW()) >= TIME(from2)
AND TIME(NOW()) < TIME(to2)
AND day_id=whatever
Pro punta tener cuidado de usar >=
para el inicio de los intervalos de tiempo y <
por sus extremos, para evitar off-by-one errores.
NOW()
es una operación delicada zona horaria en MySQL. Si lo hace justo después de abrir cada conexión MySQL. obtendrá su hora local de NOW()
.
SET time_zone = `Australia/Sydney`;
Obvs, utilizar su propio designador de zona horaria .