Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/10/2008, 09:32
alfredorz
 
Fecha de Ingreso: junio-2008
Mensajes: 56
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Como sumar horas, minutos y segundos?

Después de dar vueltas y vueltas a ver cómo funciona el tema de las horas,minutos y segundos, y teniendo el código que he puesto antes como base, he sacado una función que dadas dos horas con formato hh:mm:ss (de tipo varchar) devuelve la suma (acumulación) de las horas

Además le he dado un formato para cuando las horas, minutos o segundos sean menor de 10 no las muestre con un sólo digito sino anteponiendo un 0. Por ejemplo, en vez de 12:5:1 ponga 12:05:01, ya que sino puede llegar a confusiones.

Dejo el código por si a alguien le pudiera servir:

Cita:
<?php
function sumahoras ($hora1,$hora2){
$hora1=explode(":",$hora1);
$hora2=explode(":",$hora2);
$horas=(int)$hora1[0]+(int)$hora2[0];
$minutos=(int)$hora1[1]+(int)$hora2[1];
$segundos=(int)$hora1[2]+(int)$hora2[2];
$horas+=(int)($minutos/60);
$minutos=(int)($minutos%60)+(int)($segundos/60);
$segundos=(int)($segundos%60);
return (intval($horas)<10?'0'.intval($horas):intval($hora s)).':'.($minutos<10?'0'.$minutos:$minutos).':'.($ segundos<10?'0'.$segundos:$segundos);
}
$horatotal = sumahoras("25:30:05","11:30:23"); //ejemplo para probar que funciona correctamente llamando a la función.
echo $horatotal;
?>
Que os vaya bien!!