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目录导航文件代码
Oct 09 PHP
用PHP中的 == 运算符进行字符串比较
Nov 26 PHP
PHP 上传文件的方法(类)
Jul 30 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
thinkphp5引入公共部分header、footer的方法详解
Sep 14 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 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
真正的ZIP文件操作类(php)
2007/07/21 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
php实现通过cookie换肤的方法
2015/07/13 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
获取Javscript执行函数名称的方法
2006/12/22 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
JavaScript学习笔记之Function对象
2015/01/22 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
npm的lock机制解析
2019/06/20 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
详解基于element的区间选择组件校验(交易金额)
2021/01/07 Javascript
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
Python中使用中文的方法
2011/02/19 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
Python常见字典内建函数用法示例
2018/05/14 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
同学聚会欢迎辞
2014/01/14 职场文书
2014年端午节演讲稿范文
2014/05/23 职场文书
群众路线自我剖析材料
2014/10/08 职场文书
奖学金个人总结
2015/03/04 职场文书
老人院义工活动感想
2015/08/07 职场文书
PHP中多字节字符串操作实例详解
2021/08/23 PHP
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python
Spring中的@Transactional的工作原理
2022/06/05 Java/Android