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中使用DOM类读取XML文件的实现代码
Dec 14 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
phpmailer中文乱码问题的解决方法
Apr 22 PHP
php中unserialize返回false的解决方法
Sep 22 PHP
composer.lock文件的作用
Feb 03 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 PHP
掌握PHP垃圾回收机制详解
Mar 13 PHP
laravel orm 关联条件查询代码
Oct 21 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 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
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
一个php短网址的生成代码(仿微博短网址)
2014/05/07 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
浅析JavaScript中的常用算法与函数
2013/11/21 Javascript
js实现飞入星星特效代码
2014/10/17 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
jQuery组件easyui基本布局实现代码
2016/08/25 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
js获取图片的base64编码并压缩
2020/12/05 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
Python实现的Kmeans++算法实例
2014/04/26 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
python最长回文串算法
2018/06/04 Python
DataFrame:通过SparkSql将scala类转为DataFrame的方法
2019/01/29 Python
python写程序统计词频的方法
2019/07/29 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
Merrell美国官网:美国登山运动鞋品牌
2018/02/07 全球购物
Public Desire美国/加拿大:全球性的在线鞋类品牌
2018/12/17 全球购物
介绍一下gcc特性
2015/10/31 面试题
人力资源管理专业应届生求职信
2013/09/28 职场文书
信息技术培训感言
2014/03/06 职场文书
企业形象策划方案
2014/05/29 职场文书
安全例会汇报材料
2014/08/23 职场文书
2015年公司新年寄语
2014/12/08 职场文书
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python