2010-12-28 17 views
0

Ich bin Tring, um diese Arbeit zu machen. was ich will es ist zu zeigen, wie lange es dauert, anstatt den Zeitstempel.zeigen Tage, Stunden, Minuten von Mysql Timestamp

Gefunden diese Funktion, aber es funktioniert mit Unix-Datum. versuchte es mit strtotime ($ fecha) zu konvertieren, aber ich echo es und seine null ...

Sie denken, ich muss Pläne ändern oder ich muss nur das Datumsformat zu Unix richtig konvertieren?

function hace($fecha){ 
     //obtener la hora en formato unix 
     $ahora=time(); 
     $fecha_unix = strtotime($fecha); 
     mostrar_notificacion($fecha_unix); 
     //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($horas<=0){ 
       return "hace ".$minutos." minutos"; 
     }elseif($dias<=0){ 
       return "hace ".$horas." horas ".$minutos." minutos"; 
     }else{ 
       return "hace ".$dias." dias ".$horas." horas y ".$minutos." minutos"; 
     } 
       } 
+1

Welches Format hat $ Fecha? ist es eine UNIX-Timestamp-Nummer oder eine Datetime-Zeichenfolge? –

+0

Wenn '$ fecha' eine Zeichenfolge ist, die ein analysierbares Datum enthält, dann sollte die Funktion in Ordnung sein. –

+0

wie ich sagte, es ist ein Zeitstempel und es enthält zum Beispiel: '2010-12-22 10:12:30' –

Antwort

2

ich tun würde, so etwas wie:

$diff = $ahora - $fecha_unix; 
$sec = $diff % 60; 
$min = floor($diff/60) % 60; 
$hours = floor($diff/3600) % 24; 
$days = floor($diff/86400); 
Verwandte Themen