달력소스 일부인데요..if문으로 바꿔서 작성해주실분

도움을 청하고자 합니다..
 
function cal_days_in_month($month, $year) {
return $month == 2 ? ($year % 4 ? 28 : ($year % 100 ? 29 : ($year % 400 ? 28 : 29))) : (($month - 1) % 7 % 2 ? 30 : 31);
}
 
이런 소스가 있는데요.
 
분석하려는데 복잡해서 이해가 잘 안되요..
 
if문으로 바꿔서 작성해주실 분 ..정말 감사드릴게요~
|

댓글 4개

if($month == 2) {
if($year % 4) return 28;
else {
if($year % 100) return 29;
else {
if($year % 400) return 28;
else return 29;
}
}
} else {
if( ($month -1) % 7 % 2) return 30;
else return 31;
}

맞는지 모르겠네요 ㅎㅎ
2월달이 언제 29일 되는지 알면 소스 보기가 쉽죠.
굳이 바꾸실 필요 없이 그냥 쓰시고 2월이 언제 29일이 있는지를 좀 알아 보시는 것이 낫지 않을까요?
윤년계산 소스이군요... 400으로 나누어서 되는가 하고 100으로 나눈거랑.. 4로 나눈거랑..
어쩌고 저쩌고 하는거죠..

네이버에 윤년계산으로 찾아보시길
어떤 로직인지 알고 싶었어요. 정말 감사합니다~~
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 978
19년 전 조회 1,525
19년 전 조회 1,755
19년 전 조회 1,228
19년 전 조회 1,393
19년 전 조회 1,604
19년 전 조회 1,643
19년 전 조회 1,504
19년 전 조회 3,860
19년 전 조회 1,560
19년 전 조회 1,513
19년 전 조회 1,645
19년 전 조회 1,605
19년 전 조회 1,538
19년 전 조회 1,430
19년 전 조회 5,097
19년 전 조회 1,602
19년 전 조회 1,623
19년 전 조회 1,641
19년 전 조회 1,455
🐛 버그신고