// 方法一:通过计算时间戳
function getAgeByID($id){
//过了这年的生日才算多了1周岁
if(empty($id)) return '';
//获得出生年月日的时间戳
$date=strtotime(substr($id,6,8));
//获得今日的时间戳
$today=strtotime('today');
//得到两个日期相差的大体年数
$diff=floor(($today-$date)/86400/365);
//strtotime加上这个年数后得到那日的时间戳后与今日的时间戳相比
$age=strtotime(substr($id,6,8).' +'.$diff.'years')>$today?($diff+1):$diff;
return $age;
}
// 方法二:通过截取年、月、日来进行比较计算,更简单
function getAgeByIdcard($idcard){
$year = substr($idcard, 6, 4);
$monthDay = substr($idcard, 10, 4);
$age = date('Y') - $year;
if ($monthDay > date('md')) {
$age--;
}
return $age;
}
x