Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/11/2015, 09:23
Avatar de chronos682
chronos682
 
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: tengo un problema al sumar fechas

Cita:
Iniciado por danilojr007 Ver Mensaje
hola amigos del foro lo que sucede es que tengo una funcion que me suma 2 fechas

Código PHP:
Ver original
  1. function sumar($hora1, $hora2){
  2.     list($h, $m, $s) = explode(':', $hora2); //Separo los elementos de la segunda hora
  3.     $a = new DateTime($hora1); //Creo un objeto DateTime
  4.     $b = new DateInterval(sprintf('PT%sH%sM%sS', $h, $m, $s)); //Creo un objeto DateInterval
  5.     $a->add($b); //Sumo las horas
  6.     return $a->format('H:i:s'); //Retorno la suma
  7. }

lo que pasa es que tengo que llamar esta funcion en un ciclo ya que consulto en una base de datos las fechas que resto con datatime->diff y estas diferencias la tengo que sumar en un ciclo. Las fechas que resto las tengo en un array que lo recorro con un foreach asi

Código PHP:
Ver original
  1. $interval='';
  2.  
  3. $horas_totales= new DateTime('00-00-00');
  4.  
  5. $comparacion= new DateTime('00-00-00');
  6.  
  7. foreach($result as $res)
  8.             {
  9.             if(count($res)== 2)
  10.     {
  11.     $tiempo1 = date('H:i:s',strtotime($res[0][1]));
  12.     $tiempo2 = date('H:i:s',strtotime($res[1][1]));
  13.  
  14.             $datatime1 = new DateTime($tiempo1);
  15.             $datetime2 = new DateTime($tiempo2);
  16.             $interval = $datatime1->diff($datetime2);
  17.                  $intervalos = $interval->format('%H'.':'.'%i'.':'.'%s');
  18.    
  19.             if($horas_totales == $comparacion)
  20.             {
  21.             $horas_totales=$intervalos;
  22.             }
  23.             else
  24.             {
  25.                                        
  26.             echo sumar($horas_totales, $intervalos);
  27.                                    
  28.                         }
  29.            
  30.          }
  31.         else
  32.         {
  33.                                
  34.         }
  35.                            
  36.      }

la cuestion es que si me suma pero no se auto-incrementa la vareable $horas_totales para poder sacar el total de todas las diferencias.
De ante mano le agradeceria a todo aquel que me pueda ayudar.
Gracias!
Reemplaza esto:

Código PHP:
echo sumar($horas_totales$intervalos); 
Por esto:

Código PHP:
$horas_totales sumar($horas_totales$intervalos);
echo 
$horas_totales
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]