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 中执行系统外部命令
Oct 09 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
Mar 14 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
php模拟服务器实现autoindex效果的方法
Mar 10 PHP
php实现对象克隆的方法
Jun 20 PHP
PHP入门教程之面向对象基本概念实例分析
Sep 11 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
Nov 09 PHP
php实现socket推送技术的示例
Dec 20 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
使用Laravel中的查询构造器实现增删改查功能
Sep 03 PHP
PHP命令行与定时任务
Apr 01 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
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
浅谈php(codeigniter)安全性注意事项
2017/04/06 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
javascript globalStorage类代码
2009/06/04 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
JavaScript的事件代理和委托实例分析
2015/03/25 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
Vue 组件间的样式冲突污染
2017/08/31 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
Vue数字输入框组件的使用方法
2019/10/19 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
2020/11/04 Javascript
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
python爬取招聘要求等信息实例
2020/11/20 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
Maje德国官网:法国女性成衣品牌
2017/02/10 全球购物
学前教育教师求职自荐信
2013/09/22 职场文书
财务副总经理工作职责
2013/11/25 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
医德医魂心得体会
2014/09/11 职场文书
预备党员转正意见
2015/06/01 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
Java 在线考试云平台的实现
2021/11/23 Java/Android
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android