[XE] PHP 만나이 계산하기
getAmericanAge(
'19590226'
);
// 글 작성일 기준으로 53 출력
getAmericanAge(
'19590101'
);
// 54 출력
템플릿 파일에선 함수 선언이 불가능하므로 다음과 같이 사용
{strtotime(zdate(생일, sprintf("%s-m-d", date('Y')))) > strtotime(date('Y-m-d')) ? date('Y') - zdate(생일,"Y") - 1 : date('Y') - zdate(생일,"Y")}
/**
* @brief 만나이 계산
**/
function
getAmericanAge(
$birthday
) {
if
(!
$birthday
)
return
false;
$birthMonthAndDay
=
strtotime
(zdate(
$birthday
, sprintf(
"%s-m-d"
,
date
(
'Y'
))));
///< 생일에서 년도는 현재로 함. 생일이 지났는지 검사하기 위한 것
$currentDate
=
strtotime
(
date
(
'Y-m-d'
));
$birthYear
= zdate(
$birthday
,
"Y"
);
$currentYear
=
date
(
'Y'
);
// 태어난 날짜가 현재 날짜보다 크면 생일이 지나지 않은 것이므로 -1을 추가적으로 해준다.
if
(
$birthMonthAndDay
>
$currentDate
)
return
$currentYear
-
$birthYear
-1;
// 작으면 그냥 현재 연도 - 태어난 연도
else
return
$currentYear
-
$birthYear
;
}