Cita:
Iniciado por edie8
Haber yo tengo unas horas que es la de ultima modificacion pero quiero que me diga hace x minutos, o x segundos o x dias siempre y cuando no pase de 20 dias, entonces al hacer el if si tengo una fecha por ejemplo 3/03/2012 19:00 y hoy es 4/03/2012 y son 19:24 me dice ace 24 minutos y no me tiene en cuenta los dias q an pasao y luego si lo acabo de poner no me da los segundos me dice 0 minutos nose en que fallo.
Aquí tienes:
Código PHP:
function GetTimeAgoPosted($dataposted) {
$datanow=time();
$howtimeago=$datanow-$dataposted;
if($howtimeago>=1728000){ //Si hace 20 días o más:
$fecha = array(
'dia' => date('d/m/Y', $dataposted),
'hora'=> date('h:i', $dataposted)
);
$timeAgo2Return="Posteado el día ".$fecha['dia']." a las ".$fecha['hora']; //Depende de la codificacion de la página í o 'í'.
} else { //Si hace menos de 20 días:
if($howtimeago>=86400){ // Hace X Días
$NumberAgo=$howtimeago/86400;
$NumberAgo=(int)$NumberAgo;
if($NumberAgo==1){$timeType='día';}else{$timeType='días';}
} else if($howtimeago>=3600){ // Hace X Horas
$NumberAgo=$howtimeago/3600;
$NumberAgo=(int)$NumberAgo;
if($NumberAgo==1){$timeType='hora';}else{$timeType='horas';}
} else if($howtimeago>=60){ // Hace X Minutos
$NumberAgo=$howtimeago/60;
$NumberAgo=(int)$NumberAgo;
if($NumberAgo==1){$timeType='minuto';}else{$timeType='minutos';}
} else if($howtimeago<60){ // Hace X Segundos
$NumberAgo=$howtimeago;
if($NumberAgo==1){$timeType='segundo';}else{$timeType='segundos';}
}
$timeAgo2Return="Posteado hace ".$NumberAgo." ".$timeType;
}
return $timeAgo2Return;
}
Recién hecha :)