Сколько прошло времени с указанной даты

1-ый способ

Вернуть, сколько прошло времени с указанной даты можно через метод DateTime::diff().

$date = new DateTime('1990-11-05 00:00:00');

echo $date->diff(new DateTime)->format('прошло %d дней %m месяца %y лет');
// прошло 5 дней 2 месяца 29 лет

2-ой способ

Функция ниже возвращает время до указанной даты в сокращённом виде.

function time_ago($datetime) {
    $interval = date_create('now')->diff($datetime);
    
    if ($interval->y >= 1) {return $interval->y.' лет';}
    if ($interval->m >= 1) {return $interval->m.' месяца';}
    if ($interval->d >= 1) {return $interval->d.' дней';}
    if ($interval->h >= 1) {return $interval->h.' часов';}
    if ($interval->i >= 1) {return $interval->i.' минут';}
    return $interval->s.' секунд';
}

time_ago(new DateTime('1990-11-05')); // 29 лет
time_ago(new DateTime('2017-11-05')); // 2 месяца
time_ago(new DateTime('2018-01-05')); // 5 дней