Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/10/2011, 05:45
fr1974
 
Fecha de Ingreso: noviembre-2007
Mensajes: 498
Antigüedad: 18 años, 10 meses
Puntos: 20
Exclamación Respuesta: Obtener formato de tiempo restante entre fechas

Vi esta función en foros del web pero no se si yo la aplico mal o simplemente no funciona :


Código PHP:

function timeBetween($desde,$hasta) {
    
$ini = explode(" ",$desde);
    
$fIni = $ini[0];
    
$hIni = $ini[1];
    
$fIni = explode("-",$fIni);
    
$hIni = explode(":",$hIni);

    
$fin = explode(" ",$hasta);
    
$fFin = $fin[0];
    
$hFin = $fin[1];
    
$fFin = explode("-",$fFin);
    
$hFin = explode(":",$hFin);

    
$anos = $fFin[0] - $fIni[0];
    
$meses = $fFin[1] - $fIni[1];
    
$dias = $fFin[2] - $fIni[2];
    
$horas = $hFin[0] - $hIni[0];
    
$minutos = $hFin[1] - $hIni[1];
    
$segundos = $hFin[2] - $hIni[2];
    
    if (
$segundos < 0) {
        
$minutos--;
        
$segundos = 60 + $segundos;
    }
    if (
$minutos < 0) {
        
$horas--;
        
$minutos = 60 + $minutos;
    }
    if (
$horas < 0) {
        
$dias--;
        
$horas = 24 + $horas;
    }
    if (
$dias < 0)
    {
        --
$meses;
        switch (
$fIni[1]) {
            case 
1:     $dias_mes_anterior=31; break;
            case 
2:     $dias_mes_anterior=31; break;
            case 
3:
                if (
checkdate(2,29,$fIni[0]))
                {
                    
$dias_mes_anterior=29; break;
                } else {
                    
$dias_mes_anterior=28; break;
                }
            case 
4:     $dias_mes_anterior=31; break;
            case 
5:     $dias_mes_anterior=30; break;
            case 
6:     $dias_mes_anterior=31; break;
            case 
7:     $dias_mes_anterior=30; break;
            case 
8:     $dias_mes_anterior=31; break;
            case 
9:     $dias_mes_anterior=31; break;
            case 
10:     $dias_mes_anterior=30; break;
            case 
11:     $dias_mes_anterior=31; break;
            case 
12:     $dias_mes_anterior=30; break;
        }

        
$dias=$dias + $dias_mes_anterior;
    }
    if (
$meses < 0)
    {
        --
$anos;
        
$meses = $meses + 12;
    }
    return array(
"años" => $anos,
                
"meses" => $meses,
                
"dias" => $dias,
                
"horas" => $horas,
                
"minutos" => $minutos,

                
"segundos" => $segundos);
} 







$desde="25-10-2011 08:42:16";
$hasta="29-10-2011 10:42:16";

echo 
timeBetween($desde,$hasta); 


http://www.forosdelweb.com/f18/difer...fechas-662230/



Saludos y Gracias