Merhaba arkadaşlar elimde 2 tane fonksiyon var amacım kullanıcının yaşını günü gününe hesaplatmak ama bir türlü tam hesaplayamıyorum. Fonksiyonda nasıl bir hata olabilir acaba?


function YasHesapla($tarih){
$tarih = explode('-',$tarih);
$bugun = time();
$gecmis = mktime(0, 0, 0, $tarih[1], $tarih[2], $tarih[0]);
$fark = $bugun - $gecmis;
$dakika = $fark / 60;
$saniye_farki = floor($fark - (floor($dakika) * 60));
$saat = $dakika / 60;
$dakika_farki = floor($dakika - (floor($saat) * 60));
$gun = $saat / 24;
$saat_farki = floor($saat - (floor($gun) * 24));
$yil = floor($gun/365);
$gun_farki = floor($gun - (floor($yil) * 365));
return $yil;
}
function YasHesapla2($tarih){
$tarih = explode('-',$tarih);
$gun= $tarih[2];
$ay=$tarih[1];
$yil=$tarih[0];
$dogumzamani=mktime(00,00,00,$ay,$gun,$yil);
$simdikizaman=time();
$fark=$simdikizaman-$dogumzamani;
$yasanangun=$fark/(60*60*24);
$yasanangun=floor($yasanangun);
$yil = floor($yasanangun/365);
return $yil;
}


Tarih formatı Yıl-Ay-Gün şeklindedir. Kullanıcı bugün 30 yaşındayken (1988-05-08) eğer yarının tarihini veriyorsam 29 yaşında (1988-05-09) göstermesi lazım ama doğru hesaplamıyor. Acaba hatam nedir bilgisi olan varmı?

NOT: Sunucu saat ve tarih her şey düzgün.