Представляю вашему вниманию небольшую функцию, которая подсчитывает, сколько полных лет прошло от одной даты до другой.
function GetYearsDiff($from = '2000-01-31',$to=false){
$from = new DateTime($from);
if($to)
$to = new DateTime($to);
else
$to = new DateTime();
$interval = $from->diff($to);
$diff = intval($interval->format('%y'));
return $diff.' '.declension($diff,array('год', 'года', 'лет'));
}
Если необходимо узнать, сколько времени до текущего времени - второй параметр указывать не нужно.
format('%y') - выводит разницу лет именно в годах. Если необходимы другие измерения, то в документации можно почитать про форматы. Приведу только несколько наиболее применимых примеров:
format('%d дней'); // выведет разницу в днях и допишет в конце слово " дней"
format('%m месяцев, %d дней'); // выведет разницу в месяцах с указанием остатка в днях
Полная документация по работе с Датой/временем доступна по ссылке:
