해당 주(월)의 시작일과 마지막일자 구하는 방법

2019. 2. 18. 16:27PHP

//넘어오는 변수값이 없으면 오늘 기준으로 값 설정
if(!$thisY) $thisY = date("Y");
if(!$thisM) $thisM = date("m");
if(!$thisD) $thisD = date("d");
$thisW = date("w",mktime(12,12,12,$thisM,$thisD,$thisY)); // 0(일요일)에서 6(토요일)

// 해당 주차의 시작 날짜 (일요일)..timestamp
$thisStartW = mktime(0,0,0,$thisM,$thisD-$thisW,$thisY);
// 해당 주차의 마지막 날짜 (토요일)..timestamp
$thisEndW = mktime(23,59,59,$thisM,$thisD+(6-$thisW),$thisY);

// 해당 월의 시작 날짜 (1일).. timestamp
$thisStartM = mktime(0,0,0,$thisM,1,$thisY);
// 해당 월의 마지막 날짜 (마지막날)..timestamp
// date 옵션 `t`  주어진 월의 일수 ( 28~31)

$thisEndM = mktime(23,59,59,$thisM,date("t",$thisStartM),$thisY);


// 주간 만근에 대한 처리
$sql = "select * from event_attend where mnum='$mnum' and date > $thisStartW and date < $thisEndW";
$result = mysql_query($sql) or die($sql);
$thisWeekCount = mysql_num_rows($result); // 해당주간의 출석 카운터.. 0 이면 출석한번도 안 함 사람, 7이면 만근..

// 월간 만근에 대한 처리
$sqlM = "select * from event_attend where mnum='$mnum' and date > $thisStartM and date < $thisEndM";
$resultM = mysql_query($sqlM) or die($sqlM);
$thisMonthCount = mysql_num_rows($resultM); // 해당 월의 출석 카운터

 

date("w") : 0(일요일)에서 6(토요일)

출처 - 카약스블로그

'PHP' 카테고리의 다른 글

mysqli_real_escape_string()  (0) 2021.04.05
카카오톡 미리보기 이미지  (0) 2019.02.19
특수문자의 수치문자 참조와 문자실체 참조  (0) 2018.11.30
회원가입 정규식  (0) 2018.04.09
PHP 암호화(해시) - BCrypt  (0) 2018.01.10