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 相关文章推荐
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
PHP异步调用socket实现代码
Jan 12 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
Sep 23 PHP
PHP Switch 语句之学习笔记
Sep 21 PHP
php实现的漂亮分页方法
Apr 17 PHP
PHP中的替代语法介绍
Jan 09 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
php+js实现百度地图多点标注的方法
Nov 30 PHP
Laravel 错误提示本地化的实现
Oct 22 PHP
Laravel框架处理用户的请求操作详解
Dec 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
isset和empty的区别
2007/01/15 PHP
php 向访客和爬虫显示不同的内容
2009/11/09 PHP
PHP 实用代码收集
2010/01/22 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
vue配置请求本地json数据的方法
2018/04/11 Javascript
实例讲解vue源码架构
2019/01/24 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
[57:41]Secret vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
python3爬虫中多线程进行解锁操作实例
2020/11/25 Python
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
给护士表扬信
2014/01/19 职场文书
法学专业自我鉴定
2014/02/05 职场文书
关于安全的标语
2014/06/10 职场文书
2014年店长工作总结
2014/11/17 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
关于JavaScript轮播图的实现
2021/11/20 Javascript
Golang map映射的用法
2022/04/22 Golang
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android