lunes, 19 de diciembre de 2016
Buscar con PHP fecha en un rango o "between"
Perdí un par de horas en esto :(
Comparar fechas es distinto comparar cadenas de texto.
Es decir no se puede decir:
if ("2016-12-24" == $hoy){echo "La fecha es la misma";)
Se tienen, primero, que convertir las fechas a fechas Unix.
Para eso se usa la función: strtotime
Bueno, alguien amablemente ya hizo una función para eso, que es parecida a between en mysql, y aquí se las pego:
function check_in_range($start_date, $end_date, $date_from_user)
{
// Convert to timestamp
$start_ts = strtotime($start_date);
$end_ts = strtotime($end_date);
$user_ts = strtotime($date_from_user);
// Check that user date is between start & end
return (($user_ts >= $start_ts) && ($user_ts <= $end_ts));
}
Se usa así:
$encontro_la_fecha = check_in_range($fecha_llegada, $fecha_salida, $fechapasando);
if($encontro_la_fecha)
{
echo "Encontró la fecha en el rango buscado";
}
else
{
echo "NO encontró la fecha en el rango buscado";
}
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario