|
#1
|
|||
|
|||
Trabajar con rangos de hora
Hola,
¿hay alguna función que me permita teniendo una fecha de inicio y otra de fin, saber si una tercera que le paso está dentro de esas dos?. Por ejemplo, si tengo el turno uno que va desde las 22:00:00 hasta las 06:00:00 y quiero saber si la hora 23:00:05 está incluido o no. Muchas gracias. Un saludo. |
#2
|
|||
|
|||
no se si existe..... sino, siempre puedes crearte un include con un form que te haga la comprobación y añades ese include a tus programas
if fecha_inicio <= fecha_variable y fecha variable <= fecha_fin dentro_rango = si else dentro_rango = no endif |
#3
|
|||
|
|||
Hola Chan,
eso es lo primero que pensé. Pero por algún motivo no funciona correctamente. Imagino, que lo interpreta como string, y el encontrarse con el caso de 22:00 a 06:00 pues lógicamente las condiciones no se cumplen. También he probado con un between pero estoy en el mismo caso. Por eso, necesitaría una función que si interprete esos valores como tiempo y no como string. Muchas gracias. |
#4
|
|||
|
|||
Hola Chan,
eso es lo primero que pensé. Pero por algún motivo no funciona correctamente. Imagino, que lo interpreta como string, y el encontrarse con el caso de 22:00 a 06:00 pues lógicamente las condiciones no se cumplen. También he probado con un between pero estoy en el mismo caso. Por eso, necesitaría una función que si interprete esos valores como tiempo y no como string. Muchas gracias. |
#5
|
|||
|
|||
Me he dado cuenta de que no es posible hacerlo. En algún momento tendriamos que indicar la hora para la que nosotros empezamos el día. De esta forma, si podriamos concatener a la fecha actual, la hora y si la hora se encuentra entre las 24:00 y el comienzo del día, concatenar la fecha del día siguiente a la hora.
De esta forma si podríamos realizar la comparación. |
#6
|
|||
|
|||
y si añades el timestamp completo?
|
#7
|
||||
|
||||
Hola, yo realizaria un artificio, por ejm. si quieres una hora entre las 22Hrs y las 6hrs es obvio que no funcionara , debido a que 22 es mayor que 6 pero 22 pertenece al dia anterior, entonces,
La otra forma es, como vi en el ultimo comentario y creo q es muy viable, el concatenar la fecha y la hora ... supongamos q las 6Hrs pertenezcan al dia de hoy, entonces estarias comparando esto 20100825220000 y 20100826060000 Espero te ayude ...
__________________
David Carballido Córdova |
Herramientas | Buscar en Tema |
Desplegado | |
|
|