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 一个随机字符串生成代码
May 26 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
php cookie名使用点号(句号)会被转换
Oct 23 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
学习php设计模式 php实现备忘录模式(Memento)
Dec 09 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
PHP flush 函数使用注意事项
Aug 26 PHP
thinkPHP引入类的方法详解
Dec 08 PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 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数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
php中memcache 基本操作实例
2015/05/17 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
深入解析contentWindow, contentDocument
2013/07/04 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
2016/05/27 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
使用ajax的post同步执行(实现方法)
2017/12/21 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
2018/05/22 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
浅谈vue的第一个commit分析
2020/06/08 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
Python中的sort()方法使用基础教程
2017/01/08 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
优秀学生干部推荐材料
2014/02/03 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
学院党的群众路线教育实践活动整改方案
2014/10/04 职场文书
个人合作协议范本
2015/08/06 职场文书
教师岗位说明书
2015/09/30 职场文书