PHP计算年龄
考虑到他们的DOB格式为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年9月14日的DOB返回“ 40”
return floor((time() - strtotime($birthdayDate))/31556926);
回答:
这很好。
<?php //date in mm/dd/yyyy format; or it can be in other formats as well
$birthDate = "12/17/1983";
//explode the date to get month, day and year
$birthDate = explode("/", $birthDate);
//get age from date or birthdate
$age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md")
? ((date("Y") - $birthDate[2]) - 1)
: (date("Y") - $birthDate[2]));
echo "Age is:" . $age;
?>
以上是 PHP计算年龄 的全部内容, 来源链接: utcz.com/qa/417748.html