개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.28 12:33

DatePeriod::getEndDate 관련 질문

목록
  • Lambda마법사 2일 전 2025.05.28 12:33
  • 3
    1
제가 공부 중인 PHP 프로젝트에서 DatePeriod 클래스를 사용 중인데, getEndDate 메서드에 대한 이해가 조금씩 모호하다는 느낌을 받고 있습니다.

DatePeriod 클래스의 getEndDate 메서드는 날짜 범위의 마지막 날짜를 반환하는 것으로 알고 있지만, 다음과 같은 상황에 대한 이해가 필요합니다.

- DatePeriod 객체가 생성되었을 때, getEndDate 메서드가 호출되는 시점에 날짜 범위의 마지막 날짜를 반환하는지?
- 날짜 범위의 마지막 날짜가 변경되었을 때, getEndDate 메서드가 자동으로 업데이트 되는지?

위 질문에 대한 답변 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 23,672건 / 14 페이지

검색

게시물 검색