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 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
PHP 数组基础知识小结
Aug 20 PHP
PHP生成excel时单元格内换行问题的解决方法
Aug 26 PHP
解析Extjs与php数据交互(增删查改)
Jun 25 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
Jun 27 PHP
PHP实现变色验证码实例
Jan 06 PHP
php实现遍历多维数组的方法
Nov 25 PHP
PHP自带方法验证邮箱是否存在
Feb 01 PHP
简单理解PHP的面向对象编程方式
May 17 PHP
php array_slice 取出数组中的一段序列实例
Nov 04 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 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
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
JavaScript类库D
2010/10/24 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
JS实现图片无间断滚动代码汇总
2014/07/30 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
Bootstrap组件学习之导航、标签、面包屑导航(精品)
2016/05/17 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
2017/02/27 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
[02:20]2014DOTA2西雅图邀请赛 MVP外卡赛首胜采访
2014/07/09 DOTA
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
python实现判断一个字符串是否是合法IP地址的示例
2018/06/04 Python
详解python中递归函数
2019/04/16 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
简单了解django文件下载方式
2020/02/10 Python
K最近邻算法(KNN)---sklearn+python实现方式
2020/02/24 Python
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
J2EE模式面试题
2016/10/11 面试题
服装厂厂长职责
2013/12/16 职场文书
小区门卫岗位职责范本
2014/08/24 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
居住证明范文
2015/06/17 职场文书
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
Java 多线程并发FutureTask
2022/06/28 Java/Android