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编程效率的53个要点(经验小结)
Sep 04 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
PHP容易忘记的知识点分享
Apr 30 PHP
php实现cc攻击防御和防止快速刷新页面示例
Feb 13 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
PHP经典面试题集锦
Mar 19 PHP
PHP实现的增强性mhash函数
May 27 PHP
PHP实现可自定义样式的分页类
Mar 29 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
PHP实现通过URL提取根域名
2016/03/31 PHP
php分页查询的简单实现代码
2017/03/14 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
2016/02/18 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
通过nodejs 服务器读取HTML文件渲染到页面的方法
2018/05/17 NodeJs
JavaScript作用域链实例详解
2019/01/21 Javascript
cordova+vue+webapp使用html5获取地理位置的方法
2019/07/06 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
Python yield 小结和实例
2014/04/25 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
python pygame实现方向键控制小球
2019/05/17 Python
Python序列类型的打包和解包实例
2019/12/21 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
智能室内花园:Click & Grow
2021/01/29 全球购物
毕业生自我鉴定范文
2013/11/08 职场文书
小学毕业家长寄语
2014/01/19 职场文书
高中英语教学反思
2014/02/04 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
JavaScript 原型与原型链详情
2021/11/02 Javascript
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python