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 相关文章推荐
分页显示Oracle数据库记录的类之二
Oct 09 PHP
自定义php类(查找/修改)xml文档
Mar 26 PHP
基于MySQL到MongoDB简易对照表的详解
Jun 03 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
自己写的php中文截取函数mb_strlen和mb_substr
Feb 09 PHP
laravel安装zend opcache加速器教程
Mar 02 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
php抽象类用法实例分析
Jul 07 PHP
php+ajax无刷新上传图片实例代码
Nov 17 PHP
php 二维数组时间排序实现代码
Nov 19 PHP
php实现保存周期为1天的购物车类
Jul 07 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
Smarty使用自定义资源的方法
2015/08/08 PHP
php mysql 封装类实例代码
2016/09/18 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
JavaScript控制Session操作方法
2013/01/17 Javascript
JS Map 和 List 的简单实现代码
2013/07/08 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
Angular中sweetalert弹框的基本使用教程
2018/07/22 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
js实现时间日期校验
2020/05/26 Javascript
Vue性能优化的方法
2020/07/30 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
python代码过长的换行方法
2018/07/19 Python
python连接mongodb密码认证实例
2018/10/16 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
机关门卫岗位职责
2013/12/30 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
《观舞记》教学反思
2014/04/16 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
无毒社区工作方案
2014/05/23 职场文书
关于远足的感想
2015/08/10 职场文书
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android