使用PHP从Mysql数据库计算精确年龄

时间:2017-10-22 04:45:19

标签: php mysql

我在使用php打印确切的年龄时遇到问题。这个时代的年份正在精确打印,但是当涉及到数月和数天时,它们往往会出现负值。

以下是代码的摘要,完整代码为here

$ag = date('Y') - substr($row11['dob'],6);
        $mn = date('m') - substr($row11['dob'],3,2);
        $dy = date('d') - substr($row11['dob'],0,2);

1 个答案:

答案 0 :(得分:1)

你的年龄计算方法不正确,bcz从今天的年份到出生年份分开是好的,但是当它来到月份和日期它将给出负值时,直接分离将不适用于年龄计算。 使用以下代码。

    function ageCalculator($dob){
    if(!empty($dob)){
        $birthdate = new DateTime($dob);
        $today   = new DateTime('today');
        $ag = $birthdate->diff($today)->y;
        $mn = $birthdate->diff($today)->m;
        $dy = $birthdate->diff($today)->d;
        return "$ag Years $mn Months $dy Days";
    }else{
        return 0;
    }
}

$row11 = array('dob'=>'02-01-1995');
echo ageCalculator($row11['dob']);

//OUTPUT

22 Years 9 Months 20 Days

您可以在这里找到file