[PHP] 주별 날짜 표시
지금 당장 필요한 코드는 아닌데 어쩌다 사용할지도 몰라서 한번 구상을 해본 코드이다. 아마도 카운터 등을
만들 때 주별로 데이트를 불러와야 할 경우에.. 예를 들어 일요일부터 토요일까지 방문자를 구하려는 경우에
사용할 수 있지 않을까 싶다. 물론 이 경우에 MySQL에 DATE 타입으로 데이터를 저장해야 하겠지만서도..
// 년과 월은 변수
$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);
?>
위 코드를 서버에 올린 후 실행화면은 아래와 같다. 근데 이런 코드를 사용할 사람이 있을까?
아마도 나는 다음에 카운터 만들 때 사용하지 않을까 싶다. 근데 그건 언제가 될지 아직을 잘 모르겠다. ㅋㅋ