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 相关文章推荐
人大复印资料处理程序_输入篇
Oct 09 PHP
PHP脚本数据库功能详解(上)
Oct 09 PHP
php cli 方式 在crotab中运行解决
Feb 08 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
May 03 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
Jun 25 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
Nov 18 PHP
php_pdo 预处理语句详解
Nov 21 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
php实现将数据做成json的格式给前端使用
Aug 21 PHP
通过PHP实现获取访问用户IP
May 09 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
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
JavaScript 10件让人费解的事情
2010/02/15 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
js arguments对象应用介绍
2012/11/28 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
详解如何使用webpack在vue项目中写jsx语法
2017/11/08 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
Python安装lz4-0.10.1遇到的坑
2018/05/20 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
如何基于python测量代码运行时间
2019/12/25 Python
Tensorflow中的dropout的使用方法
2020/03/13 Python
Pycharm修改python路径过程图解
2020/05/22 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
为什么会有内存对齐
2016/10/10 面试题
几个MySql的面试题
2013/04/22 面试题
硕士研究生自我鉴定范文
2013/12/27 职场文书
硕士研究生求职自荐信范文
2014/03/11 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
关于国庆节的广播稿
2015/08/19 职场文书
亲情作文之母爱
2019/09/25 职场文书