<?php /* * 函数功能: * 能计算出周岁; * 能计算距离生日还有多少天; * 能做生日邮件提醒。 * @用time()的前提注意时区问题; * @$u_info是从数据库里取出的用户出生日 * */ function getBirthdayDiff(){ $y = intval(date("Y",time())) - intval(2015); $m = intval(date("m",time())) - intval(1); $d = intval(date("d",time())) - intval(23); echo $y.'='. $m .'='. $d.'='; //当前年小于份出生年份(数据库里的数据出问题了) if($y<0){ return "数据错误->出生年不能大于当前年份!"; //当前年份等于出生年份 }elseif($y==0){ if($m<0){ return "数据错误->同年则出生月不能大于当前月份!"; }elseif($m==0){ if($d<0){ return "数据错误->同年同月则出生日不能大于当前日!"; }elseif($d==0){ return 0;//'刚出生!' }else{ return 0; } }else{ return 0; } //当前年份大于出生年份 }else{ if($m<0){ return $y-1; }elseif($m==0){ if($d<0){ return $y-1; }elseif($d==0){ return '第'.$y.'岁生日!';//$y就是第$y个生日,当前日正好是生日 }else{ return $y; } }elseif($m>0){ return $y; } } } echo getBirthdayDiff(); ?>