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 相关文章推荐
Access数据库导入Mysql的方法之一
Oct 09 PHP
php_xmlhttp 乱码问题解决方法
Aug 07 PHP
php 日期时间处理函数小结
Dec 18 PHP
php数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
PHP异步调用socket实现代码
Jan 12 PHP
深入array multisort排序原理的详解
Jun 18 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
Jan 26 PHP
PHP使用JSON和将json还原成数组
Feb 12 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
php简单实现文件或图片强制下载的方法
Dec 06 PHP
thinkPHP框架实现多表查询的方法
Jun 14 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加入ftp扩展的解决方法
2013/02/07 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
简单的JS多重继承示例
2008/03/13 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
在Python中使用Neo4j数据库的教程
2015/04/16 Python
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
利用python 读写csv文件
2020/09/10 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
诺思信科技(南京)有限公司.NET笔试题答案
2013/07/06 面试题
医学院四年学习生活的自我评价
2013/11/06 职场文书
员工入职担保书范文
2014/04/01 职场文书
继承公证书样本
2014/04/04 职场文书
小学感恩节活动总结
2015/03/24 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
Python基础学习之奇异的GUI对话框
2021/05/27 Python
工厂无线对讲系统解决方案
2022/02/18 无线电
MySQL多表查询机制
2022/03/17 MySQL