728x90
    
    
  안녕하세요.
오늘은 PHP로 지정한 날짜가 몇월 몇주차인지 알아보는 예제를 진행해보겠습니다.
해당 달의 첫 주는 월요일부터 시작하는 주라는 기준으로 구해보겠습니다.
<?php 
$today = date("2022-06-21");
$now_week = getWeek($today); //date("Y-m-d") 입력도 가능합니다
echo $today."는 6월의".$now_week."번째 주 입니다.";
function getWeek($date){
    $DEFAULT_DAYS = 1; //1 ~ 7 (월 ~ 일)
    list($yy, $mm, $dd) = explode('-', $date); // - 로 잘라서 연,월,일을 구합니다
    $first_day = date('N', mktime(0,0,0,$mm, 1, $yy)); //입력한 날짜의 해당하는 월의 1일이 몇요일인지 구합니다.
    
    if($first_day <= $DEFAULT_DAYS){  
        $remain_days = $DEFAULT_DAYS - $first_day;
        $next_monday = $remain_days +1;
    }else{
        $remain_days= 7 - $first_day; //1일을 기준으로 해당주가 몇일 남았는지 구합니다.
        $next_monday = $remain_days + $DEFAULT_DAYS +1; //1일 기준으로 차주의 월요일이 몇일인지 구합니다.
        echo $next_monday;
    }
    if($dd < $next_monday){ //입력한 날짜가 전달의 마지막주에 포함될 경우.
        $new_date = date('Y-M-d', mktime(0,0,0,$mm,0,$yy)); //날짜를 0으로 입력해서 지난달의 마지막 주를 새로계산하도록 합니다.
        return getWeek($new_date);
    }else{
        $week = ceil(($dd-($next_monday -1))/7); //몇번째 주차인지 구하기.
        return $week;
    }
}
?>
몇번째 주인지 구할 날짜를 입력하고 해당 달의 1일이 무슨요일인지 구합니다.
1일이 월요일이 아닐경우 첫번째주가 아니고 지난달의 마지막 주이므로 첫번째 주를 구합니다.
출력하면 다음과 같은 결과가 나옵니다.

'PHP' 카테고리의 다른 글
| [PHP] 파일이나 디렉토리 있는지 확인하고 만들기 (0) | 2022.09.06 | 
|---|---|
| [PHP] 동영상 업로드 하기 (0) | 2022.07.31 | 
| [PHP]SimpleXML 로 XML 파일 데이터 가져오기 (0) | 2022.06.30 | 
| [PHP]이미지 URI 주소로 이미지 다운로드 (0) | 2022.06.29 | 
| [PHP] Session 을 이용해서 로그인정보 가져오기 (0) | 2022.06.15 |