Publicado el 14 de Enero del 2017
797 visualizaciones desde el 14 de Enero del 2017
68,4 KB
1 página
Calculo de diferencia entre horas en PHP
En el siguiente artículo veremos como realizar una diferencia entre dos horas dadas ya sea en formato hh:mm como en decimnal,
para poder realizar cálculos posteriormente.
Supongamos tener que realizar un sistema en el cual se cargan tickets de servicios. Cada ticket tiene una hora de inicio y una de
finalizacion, las cuales se cargan en el formato humanizado hh:mm. Necesitaremos primero calcular la diferencia para presentar en
pantalla (por ejemplo 1:15 (una hora y quince minutos) pero, además, obtenerlo en un formato decimal para poder realizar el cálculo
(1,25 en este ejemplo).
El primer paso lo realizamos con la siguiente función:
function resta($inicio, $fin)
{
$dif=date("H:i:s", strtotime("00:00:00") + strtotime($fin) strtotime($inicio) );
return $dif;
}
Simplemente se transforman a hora los valores dados ($inicio y $fin) y se realiza la resta. Veamos un ejemplo:
$hora_inicial="11:45";
$hora_inicial="13:00";
$diferencia=resta($hora_inicial,$hora_inicial);
echo "La diferencia es $diferencia";
En este caso veremos como resultado 1:15 (una hora y quince minutos).
Volviendo al ejemplo de tickets de servicio, ahora es necesario calcular el costo de esta diferencia. Intuitivamente multiplicaremos
esta hora y quince minutos por el costo de la hora de servicio, pero es necesario pasarla previamente a decimal, para lo cual
utilizaremos la siguiente función:
function Decimal($hora)
{
$desglose=split(":", $hora);
$dec=$desglose[0]+$desglose[1]/60;
return $dec;
}
Como verán, solo se trata de dividir la variable mediante el simbolo “:” y dividir el valor derecho por 60 para pasarlo a horas, luego
se suman ambos valores. En el ejemplo anterior, si se le pasa como “1:15” como valor de entrada la función devolverá 1,25.
$diferencia="1:15";
$valor=Decima(15:30";
echo "La diferencia en decimal es $valor";
.
Comentarios de: Calculo de diferencia entre horas en PHP (0)
No hay comentarios