Foros del Web » Programando para Internet » PHP »

Sumar Horas en php

Estas en el tema de Sumar Horas en php en el foro de PHP en Foros del Web. hola! Quiero sumar el número de horas que lleva una persona trabajando. Es decir, si lleva 22:30 horas y le sumo 6 horas más el ...
  #1 (permalink)  
Antiguo 31/08/2006, 01:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 174
Antigüedad: 11 años, 9 meses
Puntos: 0
Sumar Horas en php

hola!

Quiero sumar el número de horas que lleva una persona trabajando. Es decir, si lleva 22:30 horas y le sumo 6 horas más el resultado debe ser 28:30 horas de trabajo. Alguien sabe cómo se hace esto??

he buscado código pero he encontrado uno que lo que devolvería sería 3:30 horas.... lo que quiero es acumularlas!!

graciasss
  #2 (permalink)  
Antiguo 31/08/2006, 01:57
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años
Puntos: 1
Código:
<? $hora1="2:30";
$hora2="3:42";
$hora1=split(":",$hora1);
$hora2=split(":",$hora2);
$horas=(int)$hora1[0]+(int)$hora2[0];
$minutos=(int)$hora1[1]+(int)$hora2[1];
$horas+=(int)($minutos/60);
$minutos=$minutos%60;
if($minutos==0)$minutos="00";
echo $horas.":".$minutos;
  ?>
e gastao 5 minutos en hacerlo xD son 15 €
  #3 (permalink)  
Antiguo 31/08/2006, 02:52
 
Fecha de Ingreso: febrero-2006
Mensajes: 174
Antigüedad: 11 años, 9 meses
Puntos: 0
Gracias BiGoOl! No tenía mucha experiencia con el tratamiento de horas, y todos los ejemplos que encontraba me pasaban al día siguiente, no acumulaban las horas. Yo estaba intentando algo así:
Código PHP:
$h1=substr($hora1,0,2);
    
$m1=substr($hora1,3,2);
    
    
$h2=substr($hora2,0,2);
    
$m2=substr($hora2,3,2);
    
    
$llevada=false;
    
$minutos=$m1+$m2;
    if(
$minutos>=60){
        
$minutos=$minutos-60;
        
$llevada=true;
    }
    
    
$horas=$h1+$h2;
    if(
$llevada){
        
$horas++;
    }
    
    
$total=$horas.":".$minutos;
    
$horastotal=date("h:i",$total);
    return(
$horastotal); 
tiene un problemilla que depurar... pero como me has pasado el código me lo ahorro!!!

graciasss
  #4 (permalink)  
Antiguo 31/08/2006, 09:19
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años
Puntos: 1
por cierto ahora que lo veo en el mio falla esto:
if($minutos==0)$minutos="00";
tendria que ser esto:
if($minutos<10)$minutos="0".$minutos ;
asi si kesta..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:00.