php实现根据身份证获取精准年龄
发布:smiling 来源: PHP粉丝网 添加日期:2022-02-14 12:49:15 浏览: 评论:0
这篇文章主要为大家详细介绍了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;
- }
Tags: php身份证获取精准年龄
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)