[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вычесление возроста
Страницы: 1, 2, 3
skaj
Цитата (inpost @ 28.04.2013 - 23:03)
У тебя есть нынешняя дата и дата рождения в адекватном формате: Y-m-d H:i:s
Теперь выбрал только YEAR(), сделал разницу вычитания, получил возраст. Осталось сравнение добавить месяц+день, то есть если в этом году месяц+день не наступили рождения, то от результата отнять единицу.

Кстати, возраст пишется так smile.gif

Спасибо!

_____________
www.skaj.ru
skaj
мое решение:
    
$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 даты

это то, что работает идеально, я всего лишЬ хотел узнать мнение других программистов в данном вопросе, или облегчить данную запись, но проще или доступнее я не получил.
P.S. Главное что бы понимали окружающие, а не только вы!

_____________
www.skaj.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.