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文件上传实例详解!!!
Jan 02 PHP
require(),include(),require_once()和include_once()的异同
Jan 02 PHP
Php Mssql操作简单封装支持存储过程
Dec 11 PHP
php邮件发送,php发送邮件的类
Mar 24 PHP
php文件上传的简单实例
Oct 19 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
Apr 02 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 PHP
高性能PHP框架Symfony2经典入门教程
Jul 08 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
Zend Framework动作控制器用法示例
Dec 09 PHP
php图形jpgraph操作实例分析
Feb 22 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和ACCESS写聊天室(十)
2006/10/09 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
php单一接口的实现方法
2015/06/20 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
2013/05/07 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
2016/04/13 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
JavaScript 中的 this 简单规则
2017/09/19 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
[49:05]OG vs Newbee 2019DOTA2国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
举例讲解Python中的Null模式与桥接模式编程
2016/02/02 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
答谢会策划方案
2014/05/12 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
个人求职意向书
2015/05/11 职场文书
爱护公物主题班会
2015/08/17 职场文书
gateway网关接口请求的校验方式
2021/07/15 Java/Android