반응형
질문내용 |
2010년 1월 1일 ~ 2010 년 2월 12일 두 날짜 사이의 주 를 구하는 방법은? ex) 5주 <- 이런식으로 나와야해요ㅠ_ㅠ |
답변내용 |
안녕하세요 여기서 단순 Startweek-endweek/7 을 하면 안되는 이유는심심해서 한번 만들어 봤습니다. ㅡㅡ;; mktime 을 사용하는 방법이니 년월일 의 형식을 mktime으로 변화 하시는 방법으로 사용하시면 될뜻 합니다. 하니면 함수로 만들어 쓰셔도 되고욤 $StartWeek = mktime(0,0,0,1,1,2010); $EndWeek = mktime(0,0,0,2,12,2010); $Cday = $EndWeek - $StartWeek; $Cday = $Cday/(60*60*24); // 차이나는 날짜 구하기 $We = 0; for($i = 1;$i<=$Cday;$i++) { // 시작하는주 빼야 하니 i는 1부터 시작 $tempW = date("w",$StartWeek+((60*60*24)*$i)); if($tempW == 0) $We++; } $We--; // 마지막 날짜의 주는 빼야 하니 -1 해주고 echo $We; 그럼 도움이 되셨기 바라고요 이만 시작 날짜가 일요일일수도 토요일일수도 있기 때문에 달력에 나오는 정확한 차이가 나오지 않는다. 그래서 for문을 돌면서 일요일일 경우에만 1주일을 더한다. |
반응형
'php관련' 카테고리의 다른 글
정말 길이안보여서 질문드립니다.(쇼핑몰 무한 옵션) (0) | 2011.11.18 |
---|---|
테이블 이동 쿼리(게시물 옮기기) (0) | 2011.11.18 |
Division by zero 에러발생 원인이 뭔가요? (0) | 2011.11.18 |
쿼리문 질문입니다... (0) | 2011.11.18 |
select sum()했는데 합계가 틀린이유? (0) | 2011.11.18 |