我正在寻找一种方法来计算一个人的年龄,给出他们的出生日期在格式 dd/mm/yyyy。
我使用下面的函数工作了几个月,直到一些小故障导致 while 循环永远不会结束,并磨碎整个网站停止。由于每天有将近100,000个 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;
编辑: 此函数在某些时候似乎工作正常,但对于出生日期为14/09/1986,返回“40”
return floor((time() - strtotime($birthdayDate))/31556926);