Foros del Web » Programando para Internet » PHP »

problemas con timestamp

Estas en el tema de problemas con timestamp en el foro de PHP en Foros del Web. hola a todos, necesito crear una rutina que sirva para calcular la diferencia entre dos horas dadas, y tengo un problema con la función mktime() ...
  #1 (permalink)  
Antiguo 11/10/2007, 10:18
 
Fecha de Ingreso: junio-2007
Mensajes: 21
Antigüedad: 16 años, 9 meses
Puntos: 0
problemas con timestamp

hola a todos, necesito crear una rutina que sirva para calcular la diferencia entre dos horas dadas, y tengo un problema con la función mktime() que siempre me devuelve -1 y no se que es lo que hago mal. A ver si alguien me pudiera echar una mano.

El código seria el siguiente
Código PHP:
/////////////////////////////////////////////////////
//diferencia entre dos horas dadas                 //
/////////////////////////////////////////////////////
function timediff($hora,$hora1){
 
$hora=explode(':',$hora);
 
$hora1=explode(':',$hora1);

         
$nueva mktime($hora[0],$hora[1],$hora[2],0,0,0);
         
$nueva1 mktime($hora1[0],$hora1[1],$hora1[2],0,0,0);

         
$nueva=$nueva1-$nueva;

        
$nuevahora=date("g:i:s",$nueva);


    return 
$nuevahora;

Gracias.
  #2 (permalink)  
Antiguo 11/10/2007, 11:03
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años
Puntos: 17
Re: problemas con timestamp

Hola Noelin,

me tomé la libertad de reescribir tu función

Código PHP:
<?php
function timediff($hora,$hora1){
    return 
date('H:i:s',mktime(0,0,strtotime($hora1) - strtotime($hora)));
}

echo 
timediff('20:00:01','20:01:00');
?>
El problema está cuando usás el timestamp, por eso usé mktime pasando 0 horas, 0 minutos y la cantidad de segundos como tercer parámetro...
otra cosa, en vez de hacer esos explodes usé strtotime que me parece más sencilla =)
  #3 (permalink)  
Antiguo 15/10/2007, 03:07
 
Fecha de Ingreso: junio-2007
Mensajes: 21
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: problemas con timestamp

Es q soy un poco novato, no había pensado de esa forma tan sencilla, :)

mil gracias.
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 07:54.