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 相关文章推荐
杏林同学录(八)
Oct 09 PHP
phpMyAdmin 安装及问题总结
May 28 PHP
查找mysql字段中固定字符串并替换的几个方法
Sep 23 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
php实用代码片段整理
Nov 12 PHP
PHP实现的回溯算法示例
Aug 15 PHP
PHPTree――php快速生成无限级分类
Mar 30 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
详解PHP神奇又有用的Trait
Mar 25 PHP
Laravel获取所有的数据库表及结构的方法
Oct 10 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
Sep 13 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 MVC
2014/09/10 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
ext实现完整的登录代码
2008/08/08 Javascript
javascript 鼠标滚轮事件
2009/04/09 Javascript
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
js实现图片轮播效果
2015/12/19 Javascript
理解javascript对象继承
2016/04/17 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
vue微信分享到朋友圈 vue微信发送给好友
2018/11/28 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python的迭代器和生成器使用实例
2015/01/14 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
python读取hdfs并返回dataframe教程
2020/06/05 Python
python 使用csv模块读写csv格式文件的示例
2020/12/02 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
后勤副校长自我鉴定
2013/10/13 职场文书
工程监理应届生求职信
2013/11/09 职场文书
中秋寄语大全
2014/04/11 职场文书
忠诚奉献演讲稿
2014/09/12 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
土地租赁协议书
2015/01/29 职场文书