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