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显示MySQL数据的三种方法
Jun 05 PHP
PHP 事务处理数据实现代码
May 13 PHP
PHP操作mysql函数详解,mysql和php交互函数
May 19 PHP
php中jQuery插件autocomplate的简单使用笔记
Jun 14 PHP
PHP中文分词 自动获取关键词介绍
Nov 13 PHP
PHP中设置时区,记录日志文件的实现代码
Jan 07 PHP
深入探讨<br />和 \r\n两者有什么区别??
Jun 05 PHP
PHP网站开发中常用的8个小技巧
Feb 13 PHP
php基于curl实现的股票信息查询类实例
Nov 11 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
Mar 18 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
PHP5+UTF8多文件上传类
2008/10/17 PHP
用来解析.htpasswd文件的PHP类
2012/09/05 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
python ETL工具 pyetl
2020/06/07 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
h5网页水印SDK的实现代码示例
2019/02/19 HTML / CSS
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
网络书店创业计划书
2014/02/07 职场文书
消防安全责任书范本
2014/04/15 职场文书
消防工作实施方案
2014/06/09 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS
Pygame Event事件模块的详细示例
2021/11/17 Python
Python Pandas解析读写 CSV 文件
2022/04/11 Python