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

吾爱主题 阅读:129 2021-09-30 12:11:00 评论:0

前言

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

实现

代码中已有详细注释。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 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() 方法,传入身份证号即可计算。

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

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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* * 根据身份证号码获取年龄 * 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 ; }

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

原文链接:https://blog.csdn.net/weixin_44198965/article/details/104481919

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容