
DatePeriod 클래스의 getEndDate 메서드는 DatePeriod 객체가 생성되었을 때, 날짜 범위의 마지막 날짜를 반환하는 것입니다.
getEndDate 메서드는 DatePeriod 객체의 생성 시점에 날짜 범위의 마지막 날짜를 저장하고, 이후에 날짜 범위의 마지막 날짜가 변경되더라도 자동으로 업데이트 되지 않습니다.
따라서, 날짜 범위의 마지막 날짜가 변경되었을 때, getEndDate 메서드를 다시 호출하여 최신 날짜를 반환해야 합니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$startDate = new DateTime('2022-01-01');
$endDate = new DateTime('2022-01-31');
$datePeriod = new DatePeriod($startDate, new DateInterval('P1D'), $endDate);
echo $datePeriod->getEndDate()->format('Y-m-d'); // 2022-01-31
// 날짜 범위의 마지막 날짜를 변경한다.
$datePeriod->setEndDate(new DateTime('2022-02-28'));
echo $datePeriod->getEndDate()->format('Y-m-d'); // 2022-01-31
위 코드에서, 날짜 범위의 마지막 날짜를 변경하더라도 getEndDate 메서드는 자동으로 업데이트 되지 않습니다. 따라서, 최신 날짜를 반환하기 위해 다시 호출해야 합니다.
2025-05-28 12:34