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 相关文章推荐
数据库的日期格式转换
Oct 09 PHP
PHP 中dirname(_file_)讲解
Mar 18 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
php strrpos()与strripos()函数
Aug 31 PHP
PHP使用GIFEncoder类处理gif图片实例
Jul 01 PHP
详解PHP序列化反序列化的方法
Oct 27 PHP
PHP+mysql实现从数据库获取下拉树功能示例
Jan 06 PHP
PHP后台微信支付和支付宝支付开发
Apr 28 PHP
php图片裁剪函数
Oct 31 PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
Oct 04 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网站的几个实用要点
2014/12/30 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
jQuery Pagination分页插件使用方法详解
2017/02/28 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
2019/05/20 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
用python实现批量重命名文件的代码
2012/05/25 Python
跟老齐学Python之for循环语句
2014/10/02 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
Python中字符串的格式化方法小结
2016/05/03 Python
Python 装饰器使用详解
2017/07/29 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
通过实例了解python property属性
2019/11/01 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
如何用python实现一个HTTP连接池
2021/01/14 Python
程序员经常用到的UNIX命令
2015/04/13 面试题
银行自荐信范文
2013/10/07 职场文书
网站开发实习生的自我评价
2013/12/11 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
应届大学生求职信
2014/07/20 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
群众路线调研报告范文
2014/11/03 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
python读取mnist数据集方法案例详解
2021/09/04 Python