728x90
안녕하세요,
오늘은 DatePeriod와 DateInterval 활용하여 반복되는 날짜를 자동으로 처리해보도록 하겠습니다.
DatePeriod 클래스
PHP에서 제공하는 클래스로, 시간 간격을 나타내는 클래스입니다.
'P1D' → 1일
'P1W' → 1주
'P1M' → 1달
'PT1H' → 1시간
등 다양한 형식을 지원합니다.
DateInterval 클래스
PHP에서 제공하는 클래스로, 특정 간격(DateInterval)에 따라 반복되는 날짜들을 만들어주는 클래스입니다.
예제 코드
<?php
// 시작 날짜: 2025년 6월 1일
$start = new DateTime('2025-06-01');
// 1주일 간격
$interval = new DateInterval('P1W');
// 반복 종료 날짜: 2025년 7월 1일
$end = new DateTime('2025-07-01');
// DatePeriod 객체 생성 (끝나는 날짜 포함되게 하려면 1주 더해줌)
$period = new DatePeriod($start, $interval, $end->add($interval));
// 출력
echo "📆 매주 일요일 일정 리스트:<br><br>";
foreach ($period as $date) {
if ($date->format('w') == 0) { // 일요일만 출력 (0 = Sunday)
echo "- " . $date->format('Y-m-d (l)') . "<br>";
}
}
?>
결과
📆 매주 일요일 일정 리스트:
- 2025-06-01 (Sunday)
- 2025-06-08 (Sunday)
- 2025-06-15 (Sunday)
- 2025-06-22 (Sunday)
- 2025-06-29 (Sunday)
- 2025-07-06 (Sunday)
'PHP' 카테고리의 다른 글
[PHP] get_defined_vars() 함수로 정의된 변수 확인하기 (2) | 2025.08.09 |
---|---|
[PHP]debug_zvfal_dump()로 PHP 내부 동작 엿보기 (1) | 2025.07.26 |
[PHP] array_flip() 로 키-값 역전하기 (1) | 2025.07.11 |
[PHP] array_merge_recursive() 다차원 배열 병합 (0) | 2025.07.06 |
[PHP] array_diff_assoc() 함수로 값과 키까지 비교하기 (0) | 2025.06.29 |