Prova questa, la usavo su un sito che avevo fatto tempo fa, e probabilmente l'avevo recuperata qui sul forum...
Codice PHP:
function getAge($y1, $m1, $d1) {
$y2 = date("Y");
$m2 = date("m");
$d2 = date("d");
$diff = "";
$y = $y2 - $y1;
$m = $m2 - $m1;
$d = $d2 - $d1;
$daysInMonth = date("t",$m1);
if ($d<0) {$m--;$d=$d+$daysInMonth;}
if ($m<0) {$y--;$m=$m+12;}
if ($y) $diff .= $y==1 ? "1" : "$y";
//if ($m) $diff .= $m==1 ? "1 mese e " : "$m mesi e ";
//if ($d) $diff .= $d==1 ? "1 giorno " : "$d giorni ";
return $diff;
}
echo getAge(1990,06,29);