Lo conseguí hacer de la siguiente manera.
Código PHP:
Ver originalfunction date_diff($d1, $d2){
// Compara dos timestamps y retorna el array con las diferencias (year, month, day, hour, minute, second)
//comprueba la mayor marca de tiempo y la cambia si es necesario
if ($d1 < $d2){
$temp = $d2;
$d2 = $d1;
$d1 = $temp;
}
else {
$temp = $d1; //temp puede ser usado para el recuento de días si es necesario
}
//seconds
if ($d1['second'] >= $d2['second']){
$diff['second'] = $d1['second'] - $d2['second'];
}
else {
$d1['minute']--;
$diff['second'] = 60-$d2['second']+$d1['second'];
}
//minutes
if ($d1['minute'] >= $d2['minute']){
$diff['minute'] = $d1['minute'] - $d2['minute'];
}
else {
$d1['hour']--;
$diff['minute'] = 60-$d2['minute']+$d1['minute'];
}
//hours
if ($d1['hour'] >= $d2['hour']){
$diff['hour'] = $d1['hour'] - $d2['hour'];
}
else {
$d1['day']--;
$diff['hour'] = 24-$d2['hour']+$d1['hour'];
}
//days
if ($d1['day'] >= $d2['day']){
$diff['day'] = $d1['day'] - $d2['day'];
}
else {
$d1['month']--;
$diff['day'] = date("t",$temp)-$d2['day']+$d1['day']; }
//months
if ($d1['month'] >= $d2['month']){
$diff['month'] = $d1['month'] - $d2['month'];
}
else {
$d1['year']--;
$diff['month'] = 12-$d2['month']+$d1['month'];
}
//years
$diff['year'] = $d1['year'] - $d2['year'];
return $diff;
//print_r($date_diff_array);
}
function mostrar_date_diff($d1, $d2){
// Muestra el tiempo que ha pasado entre dos horas. Ej. Hace 2 horas
$date_diff_array = date_diff($d1, $d2);
if ($date_diff_array['year']!=0){
if ($date_diff_array['year']==1) echo "Hace ".$date_diff_array['year']." año";
else echo "Hace ".$date_diff_array['year']." años";
}elseif ($date_diff_array['month']!=0){
if ($date_diff_array['month']==1) echo "Hace ".$date_diff_array['month']." mes";
else echo "Hace ".$date_diff_array['month']." meses";
}elseif ($date_diff_array['day']!=0){
if ($date_diff_array['day']==1) echo "Hace ".$date_diff_array['day']." dia";
else echo "Hace ".$date_diff_array['day']." dias";
}elseif ($date_diff_array['hour']!=0){
if ($date_diff_array['hour']==1) echo "Hace ".$date_diff_array['hour']." hora";
else echo "Hace ".$date_diff_array['hour']." horas";
}elseif ($date_diff_array['minute']!=0){
if ($date_diff_array['minute']==1) echo "Hace ".$date_diff_array['minute']." minuto";
else echo "Hace ".$date_diff_array['minute']." minutos";
}elseif ($date_diff_array['second']!=0){
if ($date_diff_array['second']==1) echo "Hace ".$date_diff_array['second']." segundo";
else echo "Hace ".$date_diff_array['second']." segundos";
}
}
// LLAMADA
$fecha_modificada = strtotime("2010-02-28 13:11:00"); mostrar_date_diff
($fecha_modificada, time());
Lo único es que los tiempos de facebook se van actualizando solos sin recargar la página! no se como lograrlo, imagino que hace o bien una consulta en ajax o en javascript... que creéis?
Alguien mostrarme un ejemplo?
Salu2!