我正在寻找一种方法来计算一个人的年龄,考虑到他们的DOB格式为dd/mm/yyyy.
我正在使用下面的函数,该函数在几个月内一直工作得很好,直到某种故障导致While循环永远不会结束,并使整个站点陷入停顿.由于每天有近10万个DOB使用此功能数次,因此很难查明是什么原因造成了这种情况.
有没有人有更可靠的计算年龄的方法?
//replace / with - so strtotime works
$dob = strtotime(str_replace("/","-",$birthdayDate));
$tdate = time();
$age = 0;
while( $tdate > $dob = strtotime('+1 year', $dob))
{
++$age;
}
return $age;
编辑:该函数在某些时候似乎可以正常工作,但对于1986年9月14日的DOB,返回"40"
return floor((time() - strtotime($birthdayDate))/31556926);