Alla fine ho risolto con questa:

Codice PHP:
function humanTiming ($time)
{    
    
$time time() - $time// to get the time since that moment
    
$tokens = array (
    
31536000 => 'anno',
    
2592000 => 'mese',
    
604800 => 'settimana',
    
86400 => 'giorno',
    
3600 => 'ora',
    
60 => 'minuto',
    
=> 'secondo'
    
);

    foreach (
$tokens as $unit => $text) {
        if (
$time $unit) continue;
        
$numberOfUnits floor($time $unit);
            if(
$numberOfUnits>1){
                if (
strcasecmp($text"settimana")==0){$text substr_replace($text ,"e",-1);}
                else if (
strcasecmp($text"ora")==0){$text substr_replace($text ,"e",-1);}
                else{
$text substr_replace($text ,"i",-1);}
                }
            return 
$numberOfUnits.' '.$text;
            }

Funziona benone per le mie esigenze