php实现根据身份证获取精准年龄

时间:2021-05-26

前言

有时候,我们希望通过身份证来计算出年龄,那么下面我写的函数很适合。

实现

代码中已有详细注释。

function getAge($id){# 1.从身份证中获取出生日期$id = $id;//身份证$birth_Date = strtotime(substr($id, 6, 8));//截取日期并转为时间戳# 2.格式化[出生日期]$Year = date('Y', $birth_Date);//yyyy$Month = date('m', $birth_Date);//mm$Day = date('d', $birth_Date);//dd# 3.格式化[当前日期]$current_Y = date('Y');//yyyy$current_M = date('m');//mm$current_D = date('d');//dd# 4.计算年龄()$age = $current_Y - $Year;//今年减去生日年if($Month > $current_M || $Month == $current_M && $Day > $current_D){//深层判断(日) $age--;//如果出生月大于当前月或出生月等于当前月但出生日大于当前日则减一岁}# 返回return $age;}

使用

通过调用 getAge() 方法,传入身份证号即可计算。

# 参数必须为 String 型echo getAge('130322xxxxxxxxxx14');// xx

小编再为大家分享一段代码:身份证获取年龄信息:

/** 根据身份证号码获取年龄* inupt $code = 完整的身份证号* return $age : 年龄*/function ageVerification($code){ $age_time = strtotime(substr($code, 6, 8)); if($age_time === false){ return false; } list($y1,$m1,$d1) = explode("-",date("Y-m-d",$age_time)); $now_time = strtotime("now"); list($y2,$m2,$d2) = explode("-",date("Y-m-d",$now_time)); $age = $y2 - $y1; if((int)($m2.$d2) < (int)($m1.$d1)){ $age -= 1; } return $age; }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章