有時候,我們希望通過證件來計算出年齡,那么下面我寫的函數(shù)很適合。
創(chuàng)新互聯(lián)基于10余年網(wǎng)站建設(shè)行業(yè)經(jīng)驗,一直致力于為中小型企業(yè)提供信息化解決方案,創(chuàng)新互聯(lián)做到開放、開源,讓企業(yè)所有核心數(shù)據(jù)掌握到企業(yè)手里,打破行業(yè)亂象,讓企業(yè)被網(wǎng)絡公司掌控的局面不再發(fā)生;美工設(shè)計部,產(chǎn)品/程序研發(fā)部,營銷策劃部,售后客服部。一切服務為企業(yè)量身定制,專注為您!
實現(xiàn)
代碼中已有詳細注釋。
function getAge($id){
# 1.從證件中獲取出生日期
$id = $id;//證件
$birth_Date = strtotime(substr($id, 6, 8));//截取日期MT4自動交易自動交易并轉(zhuǎn)為時間戳
# 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;
}
使用
通過調(diào)用 getAge() 方法,傳入證件號即可計算。
# 參數(shù)必須為 String 型
echo getAge('130322xxxxxxxxxx14');
// xx