[PHP] 주별 날짜 표시

지금 당장 필요한 코드는 아닌데 어쩌다 사용할지도 몰라서 한번 구상을 해본 코드이다. 아마도 카운터 등을
만들 때 주별로 데이트를 불러와야 할 경우에.. 예를 들어 일요일부터 토요일까지 방문자를 구하려는 경우에
사용할 수 있지 않을까 싶다. 물론 이 경우에 MySQL에 DATE 타입으로 데이터를 저장해야 하겠지만서도..

<?php
// 년과 월은 변수
$yyyy = 2011;
$mm = 3;

// 월은 1~12
if($mm < 1 || $mm > 12) {
// 에러체크 코드는 넣어야 겠지?
}

// 아래 운년체크는 그누보드에서 가져옴.
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 ) {
    $endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
}

//mktime(시, 분, 초, 월, 일, 년)
$m_start = mktime(0, 0, 0, $mm, 1, $yyyy);
$m_end = mktime(0, 0, 0, $mm, $endday[$mm], $yyyy);

$week = array();
$weeks = $m_start;

for($i = 0; date(“n”, $weeks) == date(“n”, $m_end); $i++) {
    $wk = date(“w”, $weeks);
    $week_first = $weeks-($wk*86400);
    $week_last = $week_first+(6*86400);

    $m_week = date(“Y-m-d”,$week_first).”~”.date(“Y-m-d”,$week_last);

    echo “$m_week <br />n”;
    $week[$i] = $m_week; // 나중에 사용할까 싶어 배열로 저장 해봄

    $weeks = $week_first + (86400 * 7);
}

//print_r($week);
?>

위 코드를 서버에 올린 후 실행화면은 아래와 같다. 근데 이런 코드를 사용할 사람이 있을까?

아마도 나는 다음에 카운터 만들 때 사용하지 않을까 싶다. 근데 그건 언제가 될지 아직을 잘 모르겠다. ㅋㅋ

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

카카오톡 플러스친구 채팅 : NCUBE.NET

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.