php根据身份证号码计算年龄

我们只要知道身份证的生成规则就可以了,像下面我们从指定位置到多少位就是出日期了,然后我们把日期转成时间戳然后进行加减运算就得出了年龄了,下面我们看实例代码如下:

  1. <?php
  2. function getAgeByID($id){
  3. //过了这年的生日才算多了1周岁
  4. if(emptyempty($id)) return '';
  5. $date=strtotime(substr($id,6,8));
  6. //获得出生年月日的时间戳
  7. $today=strtotime('today');
  8. //获得今日的时间戳
  9. $diff=floor(($today-$date)/86400/365);
  10. //得到两个日期相差的大体年数
  11. //strtotime加上这个年数后得到那日的时间戳后与今日的时间戳相比
  12. $age=strtotime(substr($id,6,8).' +'.$diff.'years')>$today?($diff+1):$diff;
  13. return $age;
  14. }
  15. ?>