php根据身份证号码计算年龄
我们只要知道身份证的生成规则就可以了,像下面我们从指定位置到多少位就是出日期了,然后我们把日期转成时间戳然后进行加减运算就得出了年龄了,下面我们看实例代码如下:
- <?php
- function getAgeByID($id){
- //过了这年的生日才算多了1周岁
- if(emptyempty($id)) return '';
- $date=strtotime(substr($id,6,8));
- //获得出生年月日的时间戳
- $today=strtotime('today');
- //获得今日的时间戳
- $diff=floor(($today-$date)/86400/365);
- //得到两个日期相差的大体年数
- //strtotime加上这个年数后得到那日的时间戳后与今日的时间戳相比
- $age=strtotime(substr($id,6,8).' +'.$diff.'years')>$today?($diff+1):$diff;
- return $age;
- }
- ?>