beh, personalmente, una volta che hai gli UNIX TimeStamp corrispondenti alla date puoi estrarre direttamente i mesi e gli anni di entrambi:
Codice PHP:
function dateDiff($date1, $date2){
list($gg1,$mm1,$yy1)=explode("/",$date1);
list($gg2,$mm2,$yy2)=explode("/",$date2);
$data1 = mktime(0,0,0,$mm1,$gg1,$yy1);
$data2 = mktime(0,0,0,$mm2,$gg2,$yy2);
$mese1 = date('n', $data1);
$mese2 = date('n', $data2);
$anni1 = date('Y', $data1);
$anni2 = date('Y', $data2);
//Qui fai una gabola
$rappr1 = $mese1 + $anni1 * 12;
$rappr2 = $mese2 + $anni2 * 12;
//Questi valori sono una specie di time stamp, ma con la precisione in mesi
$diff = $rappr2 - $rappr1;
$anniDiff = floor($diff / 12);
$mesiDiff = $diff - $anniDiff * 12;
//A questo punto di fai quello che vuoi tipo
return array("anni" => $anniDiff, "mesi" => $mesiDiff);
}
//Chiamando
print_r(dateDiff("15/02/1955", "02/05/2006"));
//Ottieni
/*
* Array ( [anni] => 51 [mesi] => 3 )
*
*/
Ovviamente è abbastanza approssimativo, dato che non è proprio 51 anni e 3 mesi, ma 51 anni, 2 mesi e 15 giorni