Foros del Web » Programando para Internet » PHP »

Problemilla con diferencia entre horas.

Estas en el tema de Problemilla con diferencia entre horas. en el foro de PHP en Foros del Web. Estoy con un script que calcula la diferencia horaria entre dos fechas... este es: Código PHP: $query  = ( "SELECT *,UNIX_TIMESTAMP(enviado) AS fecha_unix FROM tabla ORDER BY id DESC" ) or die( mysql_error ());                                         ...
  #1 (permalink)  
Antiguo 20/11/2007, 17:48
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Problemilla con diferencia entre horas.

Estoy con un script que calcula la diferencia horaria entre dos fechas... este es:

Código PHP:
$query = ("SELECT *,UNIX_TIMESTAMP(enviado) AS fecha_unix FROM tabla ORDER BY id DESC") or die(mysql_error()); 

            
            
            
$ahora=time();
 
                
//obtener la diferencia de segundos
                
$segundos=$ahora-$fecha_unix;
             
                
//dias es la division de n segs entre 86400 segundos que representa un dia;
                
$dias=floor($segundos/86400);
             
                
//mod_hora es el sobrante, en horas, de la division de días;
                
$mod_hora=$segundos%86400;
             
                
//hora es la division entre el sobrante de horas y 3600 segundos que representa una hora;
                
$horas=floor($mod_hora/3600);
             
                
//mod_minuto es el sobrante, en minutos, de la division de horas;
                
$mod_minuto=$mod_hora%3600;
             
                
//minuto es la division entre el sobrante y 60 segundos que representa un minuto;
                
$minutos=floor($mod_minuto/60);
                
                if (
$dias 1$plural "s";
                else 
$plural "";
                if (
$minutos 1$plural_m "s";
                else 
$plural_m "";
             
                if(
$horas<=0){
                    
$final_minutos $minutos;
                    
$fecha $final_minutos." minuto".$plural_m;
                }elseif(
$dias<=0){
                    
$final_minutos $minutos;
                    
$final_horas $horas;
                    
$fecha $final_horas" horas y ".$final_minutos." minuto".$plural_m;
                }else{
                    
$final_dias $dias;
                    
$fecha $dias" dia".$plural;
                } 

Saco la fecha "datetime" de la bd, y calculo la diferencia. Bueno pues lo hace bien parece pero falla por algun lado porque con estas dos fechas me lo hace mal:

2007-11-17 23:55:50
2007-11-17 23:53:55



Me muestra que han pasado xx minutos, cuando deberia mostrar dias :S

Con esta fecha por ejemplo lo hace bien:

2007-11-17 14:30:41


Me dice que han pasado 3 dias.


No lo entiendo... alguien ve algo raro en el script?

Gracias
  #2 (permalink)  
Antiguo 20/11/2007, 18:06
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Problemilla con diferencia entre horas.

yo veo que solo han pasado 2 minutos :/
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 12:28.