개발/PHP

[PHP] 날짜 가지고 놀기

똘또히 2019. 6. 21. 21:47

//기본 날짜 세팅 - 이 부분을 날짜를 바꿔가면서 테스트 하시면 됩니다. 
$year = "2019"; 
$month = "06"; 
$day = "01"; 

$nowday = mktime(0,0,0,$month, $day, $year); 
//오늘 
$today = date("Y.m.d", $nowday); 
//일주일전 
$prev_week = date("Y.m.d", mktime(0,0,0,$month, $day-7, $year)); 
//일주일후 
$next_week = date("Y.m.d", mktime(0,0,0,$month, $day+7, $year)); 
//이번달 마지막 날짜? 
$last_day = date("t",$nowday); 
//이번달은 몇 주? 
//$month_week1 = date('t', mktime()); 
$month_week = date("t", mktime()); 
$month_week = $month_week / 7; 
//$month_week1 = ceil($month_week1 /7); 
$month_week = ceil($month_week); 
//현재 요일 
$now_week_day = date("w", mktime(0,0,0, $month, $day, $year)); 
$w_d[0] = "일요일"; 
$w_d[1] = "월요일"; 
$w_d[2] = "화요일"; 
$w_d[3] = "수요일"; 
$w_d[4] = "목요일"; 
$w_d[5] = "금요일"; 
$w_d[6] = "토요일"; 

//마지막 날의 요일을 구한다. 
$end_week_day = date("w", mktime(0,0,0, $month, $last_day, $year)); 

if($day >= 1 && $day <= $now_week_day+1){//현재주가 시작 주이면 
$start_day = date("Y.m.d", mktime(0,0,0, $month, 1, $year)); 
$end_day = date("Y.m.d", mktime(0,0,0,$month, $day + (6-$now_week_day), $year)); 
}elseif($day >= ($last_day - ($end_week_day+1)) && $day <= $last_day){//현재주가 마지막 주이면 
$start_day = date("Y.m.d", mktime(0,0,0, $month, ($day - $now_week_day), $year)); 
$end_day = date("Y.m.d", mktime(0,0,0,$month, $last_day, $year)); 
}else{ 
$start_day = date("Y.m.d", mktime(0,0,0, $month,  $day - $now_week_day, $year)); 
$end_day = date("Y.m.d", mktime(0,0,0,$month, $day + (6-$now_week_day), $year)); 
} 


echo " 
오늘  : $today <br> 
일주일전 : $prev_week <br> 
일주일후 : $next_week <br> 
이번달 마지막 날짜? : $last_day <br> 
이번달은 몇 주? : $month_week <br> 
현재 요일? : $w_d[$now_week_day] <br> 
이번주 시작일 날짜? : $start_day <br> 
이번주 마지막 날짜? : $end_day <br> 
"; 
?>