PHP에서 주(週)의 첫 번째 날짜를 구하려면 date() 함수와 strtotime() 함수를 함께 사용하면 됩니다. 아래 예제를 통해 자세히 살펴보겠습니다.
예제 1: 이번 주의 첫 번째 날 구하기
<?php
$res = date('l - d/m/Y', strtotime("this week"));
echo "First day = ", $res;
?>
출력 결과
First day = Monday - 09/12/2019
strtotime("this week")는 현재 주의 시작 시점을 타임스탬프로 반환합니다. PHP에서는 기본적으로 월요일이 한 주의 시작으로 간주되므로, 위 코드는 해당 주의 월요일 날짜를 출력합니다.
예제 2: 일요일을 한 주의 첫날로 지정하기
만약 일요일을 한 주의 첫 번째 날로 설정하고 싶다면 다음과 같이 작성할 수 있습니다.
<?php
echo "Displaying Sunday as first day of a week...\n";
$res = date('l - d/m/Y', strtotime("sunday 0 week"));
echo "First day (next week) = ", $res;
?>
출력 결과
Displaying Sunday as first day of a week...
First day (next week) = Sunday - 15/12/2019
strtotime("sunday 0 week") 표현식은 현재 주에 포함된 일요일 또는 바로 다가오는 일요일의 날짜를 계산합니다. 여기서 "0 week"는 현재 주를 기준으로 함을 의미합니다.
참고 사항
date('l')형식 문자에서 소문자 'l'은 요일의 전체 영문 이름(Monday, Tuesday 등)을 반환합니다.- 'd/m/Y'는 일/월/년 순서로 날짜를 표시하는 형식입니다.
- 한국어 환경에서 요일 이름을 얻으려면
strftime()(PHP 8.1 이전) 또는IntlDateFormatter클래스를 활용하는 것이 좋습니다.