目录
一、根据出生日期计算当前时间的年龄
参数:$birth_year:出生年份;$birth_month:出生月份;$birth_day:出生日
function getAgeByBirth($birth_year,$birth_month,$birth_day){
if(empty($birth_year) || empty($birth_month) || empty($birth_day)){
return 0;
}
$current_year = date('Y',time());
$current_month = date('m',time());
$current_day = date('d',time());
if($birth_year >= $current_year){
return 0;
}
$age = $current_year - $birth_year - 1;
if($current_month>$birth_month){
return $age+1;
}else if($current_month == $birth_month && $current_day>=$birth_day){
return $age+1;
}else{
return $age;
}
}
二、通过两个不同的日期计算年龄
参数:birthDate 出生年月日,currentDate 另外一个日期
// 通过出生年月日计算年龄
function calculateAge($birthDate,$currentDate) {
// 将出生日期和当前日期字符串转换为 DateTime 对象
$birthDateTime = new DateTime($birthDate);
$currentDateTime = new DateTime($currentDate);
// 计算两个日期之间的差异
$ageInterval = $currentDateTime->diff($birthDateTime);
// 直接返回年份差,这就是两个日期之间的年龄差异
return $ageInterval->y;
}