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 相关文章推荐
基于mysql的bbs设计(一)
Oct 09 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 PHP
解析php多线程下载远程多个文件
Jun 25 PHP
解析strtr函数的效率问题
Jun 26 PHP
windows7下安装php的imagick和imagemagick扩展教程
Jul 04 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
ThinkPHP实现生成和校验验证码功能
Apr 28 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
Laravel框架下的Contracts契约详解
Mar 17 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/12/02 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
使用JavaScript破解web
2018/09/28 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
详解Python网络框架Django和Scrapy安装指南
2019/04/01 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
会计辞职信范文
2014/01/15 职场文书
质量承诺书怎么写
2014/05/24 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书