Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/11/2007, 17:48
Avatar de AbdelioR
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