Cita:
|
Iniciado por samuel
hola como estan
necesito saber un codigo para calcular diferencias entre horas
tengo una hora inicial y una final y debe darme la direncia
ejemplo
inicial 16:45:20
final 16:50:30
total 00:05:10
gracias
por su colaboracion
|
PHP maneja el tiempo con numeros enteros que representan segundos transcurridos desde el 1 enero de 1970 (esa fecha se la denomina Unix Epoch).
Por lo tanto para obtener una diferencia entre fechas simplemente se deben obtener los valores numericos (timestamp) de ambas fechas, luego restarlas y volver a construir una fecha a partir de ese nuevo valor.
En el caso que planteas, primero deberias utilizar la funcion mktime() para pasar una fecha a timestamp, asi:
//Convertir tus fechas a valores numericos:
$t1 = mktime(16,45,20);
$t2 = mktime(16,50,30);
//Obtener la diferencia de ambos valores:
$dif = $t2-$t1;
//Obtener las horas, minutos y segundos a partir de la diferencia:
$horas = intval($dif / 3600);
$min = intval(($dif-$horas*3600)/60);
$seg = $dif-$horas*3600-$min*60;
echo "Diferencia: $horas Hs:$min Min:$seg Seg";
espero te sirva...........