我们在做开发的时候,有一些需求需要我们根据身份来获取年龄,那么这要如何实现呢?下面小编就给大家分享一下php身份证获取年龄的代码,感兴趣朋友可以参考。
实现
代码中已有详细注释。
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; }
以上就是关于php实现身份证获取年龄的介绍,需要的朋友可以参考上述代码,希望本文对大家学习或工作能有一定的帮助,更多PHP相关内容可以关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理