php实现根据身份证获取精准年龄
前言
有时候,我们希望通过身份证来计算出年龄,那么下面我写的函数很适合。
实现
代码中已有详细注释。
functiongetAge($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型
echogetAge('130322xxxxxxxxxx14');
//xx
小编再为大家分享一段代码:身份证获取年龄信息:
/*
*根据身份证号码获取年龄
*inupt$code=完整的身份证号
*return$age:年龄
*/
functionageVerification($code){
$age_time=strtotime(substr($code,6,8));
if($age_time===false){
returnfalse;
}
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;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。