php怎么获取身份证上的年龄?
Admin 2021-05-18 群英技术资讯 1444 次浏览
我们在做开发的时候,有一些需求需要我们根据身份来获取年龄,那么这要如何实现呢?下面小编就给大家分享一下php身份证获取年龄的代码,感兴趣朋友可以参考。
实现
代码中已有详细注释。
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相关内容可以关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
YII2中查询生成器Query()的怎么使用?很多新手学习YII2框架时,对于Query()使用不是很清楚,对此这篇文章就给大家介绍一下生成器Query()的使用方法,本文示例有一定的借鉴价值,有需要的朋友可以看一看。
循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行。我们可以在代码中使用循环语句来完成这个任务。在 PHP 中,提供了下列循环语句
启动PHP内置服务器的方法是什么呢?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
当文件过大,或者用户网络状态一般,通常上传过程需要一段时间,如果这时候让用户白屏等待的话,相信大部分用户都会直接关掉应用,所以一个监控上传进度,并实时向用户报告的需求就被产品汪摆在了桌面上。一个高逼格的上传进度提示,会让你的应用瞬间变成被仰望的存在。 PHP在5.4之前,总是需要安装额外的扩展才能监控到文件上传进度。而从5.4开始,引入session.upload_progress的新特性,我们
多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行)比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送。不使用多进程时,我们首先判断是否发送邮件,如果需要则发送;然后再判断是否需要发送短信,如果需要则发送。如果发送邮件耗时2s,发送短信耗时2s,那么我们完成任务大概需要4s左右的时间。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008