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 相关文章推荐
JAVA/JSP学习系列之六
Oct 09 PHP
模仿OSO的论坛(五)
Oct 09 PHP
PHP分页详细讲解(有实例)
Oct 30 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
php实现兼容2038年后Unix时间戳转换函数
Mar 18 PHP
在WordPress中实现发送http请求的相关函数解析
Dec 29 PHP
php 魔术常量详解及实例代码
Dec 04 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 PHP
php实现商城购物车的思路和源码分析
Jul 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实现的zip文件内容比较类
2014/09/24 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
javascript动态加载二
2012/08/22 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
2016/03/11 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
Python 文件操作实现代码
2009/10/07 Python
Python算法应用实战之栈详解
2017/02/04 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
基于python log取对数详解
2018/06/08 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
python标记语句块使用方法总结
2019/08/05 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
Python实现中英文全文搜索的示例
2020/12/04 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
什么是岗位职责
2013/11/12 职场文书
教师简历自我评价
2014/02/03 职场文书
七匹狼男装广告词
2014/03/21 职场文书
阅兵口号
2014/06/19 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
总结Python使用过程中的bug
2021/06/18 Python
JS的深浅复制详细
2021/10/16 Javascript
浅谈Python中对象是如何被调用的
2022/04/06 Python
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS