PHP开发:根据身份证号码返回年龄

/**

* 根据身份证号码返回年龄

* @param $id

* @return float|string

*/

protected function getAgeByID($id)

{

//过了这年的生日才算多了1周岁

if (empty($id)) return '';

$date = strtotime(substr($id, 6, 8));

//获得出生年月日的时间戳

$today = strtotime('today');

//获得今日的时间戳 111cn.net

$diff = floor(($today - $date) / 86400 / 365);

//得到两个日期相差的大体年数

//strtotime加上这个年数后得到那日的时间戳后与今日的时间戳相比

$age = strtotime(substr($id, 6, 8) . ' +' . $diff . 'years') > $today ? ($diff + 1) : $diff;

return $age;

}

THE END