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提示undefined index的几种解决方法
May 21 PHP
php.ini 配置文件的深入解析
Jun 17 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
php+mysqli使用面向对象方式查询数据库实例
Jan 29 PHP
php开发工具有哪五款
Nov 09 PHP
Yii基于数组和对象的Model查询技巧实例详解
Dec 28 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
iOS10推送通知开发教程
Sep 19 PHP
Zend Framework数据库操作方法实例总结
Dec 11 PHP
PHP实现微信申请退款功能
Oct 01 PHP
详解php命令注入攻击
Apr 06 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
Apr 23 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/10/09 PHP
在字符串中把网址改成超级链接
2006/10/09 PHP
PHP 第一节 php简介
2012/04/28 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
JavaScript用Number方法实现string转int
2014/05/13 Javascript
domReady的实现案例
2016/11/23 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
Vue组件之极简的地址选择器的实现
2018/05/31 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
Pyramid将models.py文件的内容分布到多个文件的方法
2013/11/27 Python
python读取html中指定元素生成excle文件示例
2014/04/03 Python
Django中处理出错页面的方法
2015/07/15 Python
Python中类型检查的详细介绍
2017/02/13 Python
python实现NB-IoT模块远程控制
2018/06/20 Python
python tkinter canvas 显示图片的示例
2019/06/13 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Python-for循环的内部机制
2020/06/12 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
StubHub德国:购买和出售门票
2017/09/06 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
英文简历中的自我评价
2013/10/06 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
建筑结构施工求职信
2014/07/11 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书