PHP计算年龄我正在寻找一种方法来计算一个人的年龄,考虑到他们的道布的格式为dd/mm/yyy。我使用了以下功能,它工作了几个月,直到一些小故障导致When循环永不结束,整个站点都会停止运行。由于每天有将近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;编辑:这个函数在某些时候似乎可以工作,但是返回“40”表示道布在1986年9月14日。return floor((time() - strtotime($birthdayDate))/31556926);
3 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
$tz = new DateTimeZone('Europe/Brussels');$age = DateTime::createFromFormat('d/m/Y', '12/02/1973', $tz) ->diff(new DateTime('now', $tz)) ->y;
DateTime::createFromFormat
m/d/Y
DateInterval
DateTime::diff
qq_遁去的一_1
TA贡献1725条经验 获得超7个赞
$date = new DateTime($bithdayDate); $now = new DateTime(); $interval = $now->diff($date); return $interval->y;
- 3 回答
- 0 关注
- 275 浏览
添加回答
举报
0/150
提交
取消