Al final lo tengo de la siguiente manera y funciona perfectamente.
Código PHP:
<?php
function datetime($session_time) {
$session_time = date("d-m-Y H:i:s",strtotime($session_time));
$time_difference = time() - strtotime($session_time) ;
$seconds = $time_difference ;
$minutes = round($time_difference / 60 );
$hours = round($time_difference / 3600 );
$days = round($time_difference / 86400 );
$weeks = round($time_difference / 604800 );
$months = round($time_difference / 2419200 );
$years = round($time_difference / 29030400 );
if($seconds <= 60){
printf("Hace <b>%b</b> segundos.", $seconds);
}else if($minutes <=60){
if($minutes==1){
echo "Hace un minuto";
}else{
printf("Hace <b>%b</b> minutos.", $minutes);
}
}
else if($hours <=24){
if($hours==1){
echo "Hace una hora";
}else{
printf("Hace <b>%b</b> horas.", $hours);
}
}
else if($days <=7){
if($days==1){
echo "Hace un dia";
}else{
printf("Hace <b>%b</b> dias.", $days);
}
}
else if($weeks <=4){
if($weeks==1){
echo "Hace una semana";
}else{
printf("Hace <b>%b</b> semanas.", $weeks);
}
}
else if($months <=12){
if($months==1){
echo "Hace un mes";
}else{
printf("Hace <b>%b</b> meses.", $months);
}
}else{
if($years==1){
echo "Hace un año";
}else{
printf("Hace <b>%b</b> años.", $years);
}
}
}
?>