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购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
使用ThinkPHP+Uploadify实现图片上传功能
Jun 26 PHP
ThinkPHP3.2.2的插件控制器功能简述
Jul 09 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
Jun 17 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
Sep 26 PHP
Yii2 批量插入、更新数据实例
Mar 15 PHP
php插件Xajax使用方法详解
Aug 31 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
Dec 12 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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部分常见问题总结
2006/10/09 PHP
php动态生成函数示例
2014/03/21 PHP
php实现的树形结构数据存取类实例
2014/11/29 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
JavaScript OOP类与继承
2009/11/15 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
javascript每日必学之封装
2016/02/23 Javascript
获取select的value、text值的简单示例(jquery与javascript)
2016/12/07 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
2018/01/02 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
vue 插槽简介及使用示例
2020/11/19 Vue.js
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Python获取文件所在目录和文件名的方法
2017/01/12 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
通过实例了解python property属性
2019/11/01 Python
python 字段拆分详解
2019/12/17 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
香港交友网站:be2香港
2018/07/22 全球购物
会计电算化大学生职业规划书
2014/02/05 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
投标担保书范文
2014/04/02 职场文书
市场营销调查计划书
2014/05/02 职场文书
法人代表任命书范本
2014/06/05 职场文书
趣味运动会赞词
2015/07/22 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang