<?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();
?>