- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
function personGetAge($birthday) {
$m = intval(substr($birthday, 5, 2));
$d = intval(substr($birthday, 8, 2));
$y = intval(substr($birthday, 0, 4));
$age = time() - mktime(12, 0, 0, $m, $d, $y);
return floor($age / (60*60*24*365.2425));
}
Yozheg 22.12.2009 16:52 # +1
ivmaroz 22.12.2009 16:56 # 0
Yozheg 22.12.2009 16:59 # 0
ivmaroz 22.12.2009 17:45 # −1
А определение возраста решается более элегантным способом
Yozheg 22.12.2009 18:00 # 0
> А определение возраста решается более элегантным способом
Наиболее оптимальным мне видится получение разности текущего года и года рождения и определение, был ли уже в этом году ДР. Я прав?
ivmaroz 22.12.2009 18:07 # −1
Если дата в формате yyyy-mm-dd, то
substr($now, 0, 4)-substr($b, 0, 4) - (substr($now, 5)<substr($b, 5))
Yozheg 23.12.2009 12:40 # 0
Yozheg 23.12.2009 12:41 # 0