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


Posted in PHP onFebruary 26, 2020

前言

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

实现

代码中已有详细注释。

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中使用接口实现工厂设计模式的代码
Jun 17 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
php获取汉字首字母的函数
Nov 07 PHP
PHP内核探索:哈希表碰撞攻击原理
Jul 31 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
Laravel中注册Facades的步骤详解
Mar 16 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
Jun 13 PHP
php实现用户登陆简单实例
Apr 04 PHP
php注册审核重点解析(数据访问)
May 23 PHP
php使用str_replace替换多维数组的实现方法分析
Jun 15 PHP
PHP中上传文件打印错误错误类型分析
Apr 14 PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 #PHP
PHP实现创建一个RPC服务操作示例
Feb 23 #PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 #PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 #PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 #PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 #PHP
php7 图形用户界面GUI 开发示例
Feb 22 #PHP
You might like
PHP 的几个配置文件函数
2006/12/21 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
php实现word转html的方法
2016/01/22 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
php-msf源码详解
2017/12/25 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
js下用eval生成JSON对象
2010/09/17 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
2013/01/10 Javascript
Extjs中ComboBoxTree实现的下拉框树效果(自写)
2013/05/28 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
vuex入门最详细整理
2020/03/04 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
数据库面试要点基本概念
2013/10/31 面试题
数控加工专业毕业生自荐信
2013/09/27 职场文书
播音主持专业个人自我评价
2014/01/09 职场文书
个人查摆剖析材料
2014/02/04 职场文书
年终考核实施方案
2014/05/26 职场文书
表彰大会新闻稿
2015/07/17 职场文书
html5调用摄像头截图功能
2022/01/18 Javascript