[PHP] 특정 날짜가 있는 주의 월요일 날짜 구하기
2022. 9. 13. 16:57ㆍProgram/PHP
052_PHP 특정 날짜가 있는 주의 월요일 구하기
[요약]
- 특정 날짜가 있는 주의 월요일 날짜를 타임스탬프로 만들어 계산하는 방법을 알아보자.
특정 요일을 지정하고 그 주의 월요일 날짜와 금요일의 날짜를 구하는 방법에 대해 알아보자.
특정 날짜를 타임스탬프 값으로 변경한 후 해당 날짜의 요일에 맞게 값을 빼거나 추가한다.
2022년 9월 8일은 목요일이며, 이 주의 월요일을 구하려면 목요일에서 3일을 빼야 월요일이 된다.
이와 같은 방식으로 해당 주의 월요일과 금요일을 구할 수 있다.
다음은 특정 날짜가 있는 주의 월요일과 금요일을 구하는 예제이다.
[예제: 53_findMondayInThisWeek.php ]
<?php
$year = 2022;
$month = 9;
$day = 8;
// 특정 날짜의 타임스탬프값 구하기
$targetDateTimeStamp = mktime(0, 0, 0, $month, $day, $year);
// 요일 찾기
$dayOfWeek = date('w', $targetDateTimeStamp);
// 하루의 초(second)
$secondOfOneDay = 60 * 60 * 24;
switch ($dayOfWeek) {
case 1: // 월요일
$monday = $targetDateTimeStamp;
$friday = $targetDateTimeStamp + ($secondOfOneDay * 4);
break;
case 2: // 화요일
$monday = $targetDateTimeStamp - ($secondOfOneDay * 1);
$friday = $targetDateTimeStamp + ($secondOfOneDay * 3);
break;
case 3: // 수요일
$monday = $targetDateTimeStamp - ($secondOfOneDay * 2);
$friday = $targetDateTimeStamp + ($secondOfOneDay * 2);
break;
case 4: // 목요일
$monday = $targetDateTimeStamp - ($secondOfOneDay * 3);
$friday = $targetDateTimeStamp + ($secondOfOneDay * 1);
break;
case 5: // 금요일
$monday = $targetDateTimeStamp - ($secondOfOneDay * 4);
$friday = $targetDateTimeStamp;
break;
}
if (isset($monday) && isset($friday)) {
echo "{$year}년 {$month}월 {$day}일이 있는 주의 월요일과 금요일의 날짜";
echo '<br>';
echo '월요일 : ' . date("Y-m-d", $monday);
echo '<br>';
echo '금요일 : ' . date("Y-m-d", $friday);
} else {
echo "월요일 부터 금요일의 날짜를 입력하세요.";
}
?>
실행결과
내용
초보자를 위한 PHP 200제
김태영 지음 | 정보문화사
'Program > PHP' 카테고리의 다른 글
[PHP] 날짜값이 유효한지 확인하기 checkdate() (0) | 2022.09.13 |
---|---|
[PHP] 현재 시간 정보를 배열로 보기 getdate() (1) | 2022.09.13 |
[PHP] 타임스탬프로 특정 시간에 작동하는 프로그램 만들기 (0) | 2022.09.12 |
[PHP] 특정 시간을 타임스탬프 시간으로 표시하기 mktime() (0) | 2022.09.12 |
[PHP] 원하는 형식으로 시간 표시하기 date() (0) | 2022.09.08 |