php관련
날짜계산 관련 질문입니다. (몇주차 구하기)
PHPdev
2011. 11. 18. 15:40
반응형
질문내용 |
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주일을 더한다. |
반응형