PHP根据出生日期计算年龄的方法

2018-01-22     浏览次数:

在开发的过程中,有时候会遇到年龄的计算问题,添加一个字段吧,每年都要去修改一下,所以就添加一个出生日期的字段,根据出生日期计算当前年龄,吾爱编程整理了一下根据出生日期计算年龄的方法,接下来分享给大家:

第一种方法:

/**
* @uses 根据生日计算年龄,年龄的格式是:2018-01-22
* @param string $birthday
* @return string|number
*/
public function calcAge($birthday) {
    $iage = 0;
    if (!empty($birthday)) {
        $year = date('Y',strtotime($birthday));
        $month = date('m',strtotime($birthday));
        $day = date('d',strtotime($birthday));
        $now_year = date('Y');
        $now_month = date('m');
        $now_day = date('d');
        if ($now_year > $year) {
            $iage = $now_year - $year - 1;
            if ($now_month > $month) {
                $iage++;
            } else if ($now_month == $month) {
                if ($now_day >= $day) {
                    $iage++;
                }
            }
        }
    }
    return $iage;
}

第二种方法:

public function calcAge($birthday) {
    $age = 0;
    if(!empty($birthday)){
        $age = strtotime($birthday);
        if($age === false){
            return 0;
        }
       
        list($y1,$m1,$d1) = explode("-",date("Y-m-d", $age));
       
        list($y2,$m2,$d2) = explode("-",date("Y-m-d"), time());
       
        $age = $y2 - $y1;
        if((int)($m2.$d2) < (int)($m1.$d1)){
            $age -= 1;
        }
    }
    return $age;
}
*转载请注明出处,更多资料尽在 吾爱编程
返回吾爱编程首页