温馨提示:本文共1429个字,读完预计4分钟。
1、计算年龄
functionhowOld($birth) {
list($birthYear, $birthMonth, $birthDay) = explode('-', date('Y-m-d', $birth));
list($currentYear, $currentMonth, $currentDay) = explode('-', date('Y-m-d'));
$age = $currentYear – $birthYear – 1;
if($currentMonth > $birthMonth || $currentMonth == $birthMonth && $currentDay >= $birthDay)
$age++;
return$age;
}
2、计算年龄(年月日)
function datediffage($before, $after) {
if ($before>$after) {
$b = getdate($after);
$a = getdate($before);
}
else {
$b = getdate($before);
$a = getdate($after);
}
$n = array(1=>31,2=>28,3=>31,4=>30,5=>31,6=>30,7=>31,8=>31,9=>30,10=>31,11=>30,12=>31);
$y=$m=$d=0;
if ($a[‘mday’]>=$b[‘mday’]) { //天相减为正
if ($a[‘mon’]>=$b[‘mon’]) {//月相减为正
$y=$a[‘year’]-$b[‘year’];$m=$a[‘mon’]-$b[‘mon’];
}
else { //月相减为负,借年
$y=$a[‘year’]-$b[‘year’]-1;$m=$a[‘mon’]-$b[‘mon’]+12;
}
$d=$a[‘mday’]-$b[‘mday’];
}
else { //天相减为负,借月
if ($a[‘mon’]==1) { //1月,借年
$y=$a[‘year’]-$b[‘year’]-1;$m=$a[‘mon’]-$b[‘mon’]+12;$d=$a[‘mday’]-$b[‘mday’]+$n[12];
}
else {
if ($a[‘mon’]==3) { //3月,判断闰年取得2月天数
$d=$a[‘mday’]-$b[‘mday’]+($a[‘year’]%4==0?29:28);
}
else {
$d=$a[‘mday’]-$b[‘mday’]+$n[$a[‘mon’]-1];
}
if ($a[‘mon’]>=$b[‘mon’]+1) { //借月后,月相减为正
$y=$a[‘year’]-$b[‘year’];$m=$a[‘mon’]-$b[‘mon’]-1;
}
else { //借月后,月相减为负,借年
$y=$a[‘year’]-$b[‘year’]-1;$m=$a[‘mon’]-$b[‘mon’]+12-1;
}
}
}
return (string)$y;
}