Цитата (inpost @ 28.04.2013 - 23:03) |
У тебя есть нынешняя дата и дата рождения в адекватном формате: Y-m-d H:i:s Теперь выбрал только YEAR(), сделал разницу вычитания, получил возраст. Осталось сравнение добавить месяц+день, то есть если в этом году месяц+день не наступили рождения, то от результата отнять единицу. Кстати, возраст пишется так ![]() |
$d_r = date('d', $ress['date_roj_user']);// получаем день рождения
$m_r = date('m', $ress['date_roj_user']);//получаем месяц рождения
$g_r = date('Y', $ress['date_roj_user']);//получаем год рождения
$d = date('d');// сегодняшний день
$m = date('m');// сегодняшний месяц
$g = date('Y');// сегодняшний год
$res_g = ($g - $g_r) - 1;// однемаем от сегодняшнего года, год рождения и отнимаем 1 год
if ($m > $m_r){
$res_g = $res_g + 1;// если сегодняшний месяц больше чем месяц рождения то к результату года пребавляем 1 год
}else{
if($m == $m_r){
if($d >= $d_r){
$res_g = $res_g + 1;// если месяца одинаковы, то сверяем числа, день сегодняшний больше или равен дню рождения, то к результату года прибавляем 1 год
}
}
}
return $res_g;//
}
}
$ress['date_roj_user']// это пришедший массив из бд где $ress['date_roj_user'] несет в себе секунду UNIX timestamp даты