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 相关文章推荐
给初学者的30条PHP最佳实践(荒野无灯)
Aug 02 PHP
php摘要生成函数(无乱码)
Feb 04 PHP
php下载文件的代码示例
Jun 29 PHP
windows下zendframework项目环境搭建(通过命令行配置)
Dec 06 PHP
PHP实现股票趋势图和柱形图
Feb 07 PHP
PHP中基本HTTP认证技巧分析
Mar 16 PHP
PHP 9 大缓存技术总结
Sep 17 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
Dec 10 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
Feb 03 PHP
PHP实现的文件上传类与用法详解
Jul 05 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 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中去除所有js,html,css代码
2010/10/12 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
php格式化日期实例分析
2014/11/12 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
javascript基本语法
2016/05/31 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
微信小程序用户盒子、宫格列表的实现
2020/07/01 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
python开发之字符串string操作方法实例详解
2015/11/12 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
python五子棋游戏的设计与实现
2019/06/18 Python
简单了解python代码优化小技巧
2019/07/08 Python
python如何实现复制目录到指定目录
2020/02/13 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
Ralph Lauren拉夫·劳伦美国官网:带有浓郁美国气息的高品味时装品牌
2017/11/01 全球购物
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
超市优秀员工事迹材料
2014/05/01 职场文书
颐和园的导游词
2015/01/30 职场文书
车辆挂靠协议书
2016/03/23 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
一行Python命令实现批量加水印
2022/04/07 Python