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网站基础优化方法小结
Sep 29 PHP
php笔记之常用文件操作
Oct 12 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
PHP中去掉字符串首尾空格的方法
May 19 PHP
php实现的DateDiff和DateAdd时间函数代码分享
Aug 16 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
Sep 19 PHP
php+js实现百度地图多点标注的方法
Nov 30 PHP
详解php实现页面静态化原理
Jun 21 PHP
php语言注释,单行注释和多行注释
Jan 21 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学习之 认清变量的作用范围
2010/01/26 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
smarty实现多级分类的方法
2014/12/05 PHP
php实现的用户查询类实例
2015/06/18 PHP
写的htc的数据表格
2007/01/20 Javascript
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
js禁止表单重复提交
2017/08/29 Javascript
vue 本地环境跨域请求proxyTable的方法
2018/09/19 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
Python中特殊函数集锦
2015/07/27 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
打架检讨书100字
2014/01/19 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
公司应聘自荐书
2014/06/14 职场文书
红色旅游心得体会
2014/09/03 职场文书
致短跑运动员加油稿
2015/07/21 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
goland设置颜色和字体的操作
2021/05/05 Golang
Android Studio 计算器开发
2022/05/20 Java/Android