/** * Função que calcula a diferença entre uma data passada comparando com o dia atual * @param int $year Ano com 4 dígitos * @param int $month Mes - [1-12] * @param int $day Dia - [1-31] * @return array Vetor sendo o indice zero a diferença em Anos, o indice 1 o restante da diferença em meses, o indice 2 o restante da diferença em dias da data atual * / function getAge($year, $month, $day){ try{ // Primeiro devemos validar a data passada if(!checkdate($month,$day,$year)) throw new Exception('Data inválida'); // Calculando a idade em anos $years_old = date('Y')- $year - (int)( (mktime(0,0,0, $month,$day))-time()>0); // Calculando o restante da idade em meses $months = (12-$month)+ date('m')-(int)(date('d')<$day); // calculando o restante da idade em dias $days=($daygetMessage()); return false; } } print_r(getAge(1990,2,25)); // Array ( [0] => 36 [1] => 11 [2] => 19 ) // comparando com a Classe DateTime $eu = new DateTime('1974-02-25'); $diff = $eu->diff(new DateTime()); echo $diff->format('%y %m %d');  // 36 11 19