php简便计算当前年龄周岁的几行代码 精确到天

代码笔记   2014-07-21 09:48:55

      最近写了个小程序,因为有需要,要算出大概的年龄,精确到几岁几个月几天,百度了很久也没找到合适的,于是自己就if了几句代码,放到这里做个笔记。缺点是没有判断平年和闰年,也没有判断月份多少天,所以年龄最终结果肯定是会稍微有出入的。

$time = time()-strtotime($catdata);
$youryear = (int)($time/(31536000)); //1年
$yourmonth = (int)($time/(2592000)); //1个月
$yourday = (int)($time/(3600*24));//天
$yournewage=(int)($yourmonth/12); //月份除以12,如果结果大于1,则年份+1
$yournewagemonth=$yourmonth-$yournewage*12;
$yournewday=(int)($yourday/31); //得出天数结果有多少个月
$yournewdayto=$yourday-$yournewday*31;
if ($yournewage>0) {
echo  $yournewage.'岁';
}
echo  $yournewagemonth.'个月';
echo  $yournewdayto.'天';
?> 

原理是把年月日分别算出来是多少天多少月多少日,然后分别相减。欢迎大家补充个更完美的代码