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 strnatcmp()函数的用法总结
Nov 27 PHP
php使用parse_url和parse_str解析URL
Feb 22 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
php异常处理方法实例汇总
Jun 24 PHP
php文件缓存方法总结
Mar 16 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
详解php框架Yaf路由重写
Jun 20 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
Jun 22 PHP
laravel migrate初学常见错误的解决方法
Oct 11 PHP
php实现支付宝当面付(扫码支付)功能
May 30 PHP
PHP获取访问设备信息的方法示例
Feb 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
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
PHP图片水印类的封装
2017/07/06 PHP
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
详解Angular2中Input和Output用法及示例
2017/05/21 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
微信小程序实现全局搜索代码高亮的示例
2018/03/30 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
Vue Element UI + OSS实现上传文件功能
2019/07/31 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
Python中字符编码简介、方法及使用建议
2015/01/08 Python
python使用knn实现特征向量分类
2018/12/26 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
python excel和yaml文件的读取封装
2021/01/12 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
应届实习生的自我评价范文
2014/01/05 职场文书
称象教学反思
2014/02/03 职场文书
奥巴马胜选演讲稿
2014/05/15 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS