Este script lo he preparado hoy basado en otros similares.
Dada una diferencia en segundos, retorna una fecha relativa o conocida como "Pretty Date" (como lo hace Twitter)
<?php
/*Fechas Relativas*/
function Pluralidad($val, $qty){
if ($val > 1) return $val.' '.$qty.'s';
else return $val.' '.$qty;
}
function TiempoRelativo($seconds){
if (($seconds / 604800) > 1) return 'Hace '.Pluralidad(round($seconds / 604800), 'semana');
elseif (($seconds / 86400) > 1) return 'Hace '.Pluralidad(round($seconds / 86400), 'día');
elseif (($seconds / 3600) > 1) return 'Hace '.Pluralidad(round($seconds / 3600), 'hora');
elseif (($seconds / 60 ) > 1) return 'Hace '.Pluralidad(round($seconds / 60), 'minuto');
else return 'Hace '.pluralidad($seconds, 'segundo');
}
echo TiempoRelativo(6048011); // Este es el ejemplo, retornará en pantalla: Hace 10 semanas
?>