만 나이 계산하기.. 이해가 안가서 질문드립니다. ㅠㅠ
본문
책보며 독학 중인 사람입니다.. 제 스타일이 무엇이든, 이해 안되는거에 꽂혀버리면 이해 될때까지 하는 경향이 있어서 ㅠㅠ 미치겠습니다. 제가 이해를 못하는건지, 책이 잘 못된건지.. 모르겠어서..
적으면서 느끼는건데, 진짜 쓸데없는 질문인거 같기도 하고 .. 그냥 넘어가도 될꺼를..
책에서 나오는 계산식,예제문 그대로 궁금해서 물어봅니다.ㅜㅜ
돌아가는 구조는 알겠는데.. 날짜 부분이 이해가 안가네요 ..
일단 서두가 너무 길었네요.
elseif($birth_month == $now_month)
{ if($birth_day <= $now_day)
$age= $now_year - $birth_year;
else $birth_day >= $now_day 일꺼고 ..
$age= $now_year - $birth_year-1;}
여기서, 계산식을 보면 1~2월,3월 1~10일 까지가 (오늘 연도-출생연도) 인데,
코드를 보면 저렇게 적혀있습니다. 아예 조건문이 성립 안되는거 아닌가요 ..?
예를 들어서 둘다 날짜가 (11~31)일 인 경우에는 if문 때문에 (오늘연도-출생연도)로 출력될텐데..
계산식에 보여준것과 다르지 않은가요 ..?
그럴일은 없겠지만, 혹시나 책이 틀렸다면 계산식과 맞는 코드 부분 댓글 달아주시면 감사하겠습니다.
계산식
출생월 | 출생일 | 만 나이 계산식 |
1~2월 | 만 나이 = 오늘 연도 - 출생 연도 | |
3월 |
1~10일 11~31일 |
만 나이 = 오늘 연도 - 출생 연도 만 나이 = 오늘 연도 - 출생 연도 - 1 |
4~12월 | 만 나이 = 오늘 연도 - 출생 연도 - 1 |
<?php /* 출생년, 출생월, 출생일에 따라 만 나이 계산하기 */
$now_year=2019;
$now_month=3;
$now_day=10;
$birth_year=1990;
$birth_month=3;
$birth_day=30;
if($birth_month < $now_month)
$age= $now_year - $birth_year;
elseif($birth_month == $now_month)
{
if($birth_day <= $now_day)
$age= $now_year - $birth_year;
else
$age= $now_year - $birth_year-1;
}
else
$age= $now_year - $birth_year-1;
echo "오늘 날짜 : $now_year 년 $now_month 월 $now_day 일<br>";
echo "출생년월일 : $birth_year 년 $birth_month 월 $birth_day 일생<br>";
echo "만 나이 : $age 세";
?>
답변 1
반대로 계산을 했네요.
생일이 아직 안지나면 -1 을 하고
지났으면 그대로 빼면 됩니다.
if($birth_month < $now_month)
$age= $now_year - $birth_year-1;
elseif($birth_month == $now_month)
{
if($birth_day < $now_day)
$age= $now_year - $birth_year-1;
else
$age= $now_year - $birth_year;
}
else
$age= $now_year - $birth_year;