Saber si una hora está en un rango de horas en PHP

Rango de horas PHP

Los problemas con las fechas, son de lo más común a la hora de programar, añadir un día, restar días, comprobar si una fecha esta entre dos fechas.

Pero hoy vamos a hablar un poco más en profundidad y hablaremos de las horas de un día.

Porqué muchas veces trabajar con días es suficiente, pero a veces necesitamos tratar una franja horaria dentro de un día, para saber si pertenece esa franja al día anterior o al presente.

Así que vamos a ver como lo haríamos para ver si una fecha con hora se encuentra dentro de un rango de horas.

Función comprueba una hora entre un rango

A continuación os pongo la función que vamos a usar para ver si una hora se encuentra dentro de ese rango de horas que definamos.

En la función lo que haremos será pasarle, el desde y el hasta del rango de horas que queremos que se encuentre y el datetime con la hora que nos llega.

Comprobaremos si la segunda hora que le pasamos es inferior a la primera, con lo cual entenderemos que es para el día siguiente.

Y al final devolveremos true o false dependiendo si el valor introducido se encuentra entre lo que le hemos pasado.

Ejemplo de llamada a la función

Este sería el código que podríamos usar para hacer la llamada a la función que hemos creado para comprobar el rango de horas.

Aquí lo que hacemos es ir sumando una hora a partir de medianoche y comprobamos si esa hora que vamos sumando se encuentra dentro del rango de horas.

El resultado sería el siguiente:

Como veis al final, las 8 y las 9 no cumplen la condición y por eso sale que no y el resto si que coincide.

Como veis simplemente necesitamos un datetime, con el que poder trabajar y ver si la hora se encuentra dentro del rango de horas.

Así podríamos comprobar si una fecha guardada en base de datos se encuentra entre la sesión de un día o la sesión de otro día, en el caso de que por ejemplo tengamos algún evento que ocurre entre un cierto rango de horas.

Espero que os haya sido útil.

Y recordad! No olvidéis comentar! Vuestro código y en el blog 😉

Comparte si te ha gustado:
Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Share on Tumblr0Digg this

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*
*