php实现根据身份证获取精准年龄
更新时间:2020年02月26日 07:03:56 作者:王佳斌
这篇文章主要为大家详细介绍了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; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
功夫不负有心人,花了将近一天时间,终于解决了Ajax 、MySQL 和 Zend Framework 的乱码问题。现在总结如下,以供参考。2009-03-03解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
最近准备改改自己的个人主页,加上发邮件到功能,发现居然不是那么好用。gmail和msn可以收到邮件,但是163/sina/sohu的邮箱居然都收不到,非常郁闷。其实代码也很简单。 php manual 已经说得相当清楚了。2009-03-03php setcookie(name, value, expires, path, domain, secure) 参数
本篇文章是对php setcookie(name, value, expires, path, domain, secure) 参数进行了详细的分析介绍,需要的朋友参考下2013-06-06
最新评论