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 相关文章推荐
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
php结合飞信 免费天气预报短信
May 07 PHP
PHP 网页过期时间的控制代码
Jun 29 PHP
php 获取当前访问的url文件名的方法小结
Feb 08 PHP
PHP实现多条件查询实例代码
Jul 17 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
Jul 18 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
PHP中error_reporting()用法详解
Aug 31 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
php类声明和php类使用方法示例分享
2014/03/29 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
php微信公众号开发之现金红包
2018/04/16 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
用js来解决ajax读取页面乱码
2010/11/28 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
详解用js代码触发dom事件的实现方案
2020/06/10 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
Web服务器框架 Tornado简介
2014/07/16 Python
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
Python 读写文件和file对象的方法(推荐)
2016/09/12 Python
Python3安装Pymongo详细步骤
2017/05/26 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
python+opencv实现动态物体追踪
2018/01/09 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
九州传奇上机题
2014/07/10 面试题
保护母亲河倡议书
2014/04/14 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
应届生简历自我评价
2015/03/11 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
CSS变量实现主题切换的方法
2021/06/23 HTML / CSS
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫