php實(shí)現(xiàn)根據(jù)身份證獲取精準(zhǔn)年齡
前言
有時(shí)候,我們希望通過(guò)身份證來(lái)計(jì)算出年齡,那么下面我寫(xiě)的函數(shù)很適合。
實(shí)現(xiàn)
代碼中已有詳細(xì)注釋。
function getAge($id){ # 1.從身份證中獲取出生日期 $id = $id;//身份證 $birth_Date = strtotime(substr($id, 6, 8));//截取日期并轉(zhuǎn)為時(shí)間戳 # 2.格式化[出生日期] $Year = date('Y', $birth_Date);//yyyy $Month = date('m', $birth_Date);//mm $Day = date('d', $birth_Date);//dd # 3.格式化[當(dāng)前日期] $current_Y = date('Y');//yyyy $current_M = date('m');//mm $current_D = date('d');//dd # 4.計(jì)算年齡() $age = $current_Y - $Year;//今年減去生日年 if($Month > $current_M || $Month == $current_M && $Day > $current_D){//深層判斷(日) $age--;//如果出生月大于當(dāng)前月或出生月等于當(dāng)前月但出生日大于當(dāng)前日則減一歲 } # 返回 return $age; }
使用
通過(guò)調(diào)用 getAge() 方法,傳入身份證號(hào)即可計(jì)算。
# 參數(shù)必須為 String 型 echo getAge('130322xxxxxxxxxx14'); // xx
小編再為大家分享一段代碼:身份證獲取年齡信息:
/* * 根據(jù)身份證號(hào)碼獲取年齡 * inupt $code = 完整的身份證號(hào) * 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; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決了Ajax、MySQL 和 Zend Framework 的亂碼問(wèn)題
功夫不負(fù)有心人,花了將近一天時(shí)間,終于解決了Ajax 、MySQL 和 Zend Framework 的亂碼問(wèn)題?,F(xiàn)在總結(jié)如下,以供參考。2009-03-03PHP基于phpqrcode類(lèi)生成二維碼的方法示例詳解
這篇文章主要介紹了PHP基于phpqrcode類(lèi)生成二維碼的方法詳解,文章通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08PHP Parser 掃描應(yīng)用打印輸出結(jié)構(gòu)語(yǔ)句實(shí)例
這篇文章主要為大家介紹了PHP Parser 掃描應(yīng)用打印輸出結(jié)構(gòu)語(yǔ)句實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09解決163/sohu/sina不能夠收到PHP MAIL函數(shù)發(fā)出郵件的問(wèn)題
最近準(zhǔn)備改改自己的個(gè)人主頁(yè),加上發(fā)郵件到功能,發(fā)現(xiàn)居然不是那么好用。gmail和msn可以收到郵件,但是163/sina/sohu的郵箱居然都收不到,非常郁悶。其實(shí)代碼也很簡(jiǎn)單。 php manual 已經(jīng)說(shuō)得相當(dāng)清楚了。2009-03-03php setcookie(name, value, expires, path, domain, secure) 參數(shù)
本篇文章是對(duì)php setcookie(name, value, expires, path, domain, secure) 參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php把大寫(xiě)命名轉(zhuǎn)換成下劃線分割命名
這篇文章主要介紹了php把大寫(xiě)命名轉(zhuǎn)換成下劃線分割命名,本文講解對(duì)一些不習(xí)慣大寫(xiě)風(fēng)格的命名方法如帕斯卡命名、駝峰命名法進(jìn)行轉(zhuǎn)換的方法,需要的朋友可以參考下2015-04-04