Parašė AgS· 2010 Rugp. 20 16:08:19
#1
Sveiki, turiu tokia problemą. Man reikia, kad pagal gimimo datą atvaizduotų kiek žmogui yra metų. Turiu tokią funkciją:
//calculate years of age (input string: YYYY-MM-DD)
function birthday ($birthday){
list($year,$month,$day) = explode("-",$birthday);
$year_diff = date("Y") - $year;
$month_diff = date("m") - $month;
$day_diff = date("d") - $day;
if ($day_diff < 0 || $month_diff < 0)
$year_diff--;
return $year_diff;
}
Problema ta, kad žmogaus metus skaičiuoja tik pagal metus, o ne pagal mėnesį ir dieną. T.y. jei nustačiau, kad gimiau 1991-08-01 tai rodys, kad man 18 metų (nors iš tikro turi būti 19). Gal žinot kaip išspręsti šitą bėdą?