개발자 Q&A

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

2025.03.24 15:25

DatePeriod::getDateInterval에 대한 질문

목록
  • PostgreSQL마법사 2일 전 2025.03.24 15:25
  • 2
    1
제가 DatePeriod::getDateInterval을 사용하여 날짜 간격을 계산할 때, 다음과 같은 문제가 있습니다.

날짜 간격을 계산할 때, 시작 날짜와 종료 날짜의 타입이 일치하는지 확인하는 방법이 있나요? 만약 일치하지 않는다면, 어떻게 처리해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    DatePeriod::getDateInterval을 사용할 때, 시작 날짜와 종료 날짜의 타입이 일치하는지 확인하는 방법은 다음과 같습니다.

    1. 시작 날짜와 종료 날짜의 타입을 확인하여 일치하는지 확인합니다.
    2. 일치하지 않는 경우, 일치하는 타입으로 변환합니다. 예를 들어, 날짜는 DateTime 객체로, 기간은 DateInterval 객체로 변환합니다.
    3. 일치하지 않는 경우, 예외를 발생시켜 사용자가 처리할 수 있도록 합니다.

    예를 들어, 시작 날짜와 종료 날짜의 타입이 일치하지 않는 경우, 다음과 같이 처리할 수 있습니다.

    #hostingforum.kr
    php
    
    $startDate = new DateTime('2022-01-01');
    
    $endDate = new DateInterval('P1Y');
    
    
    
    if ($startDate instanceof DateTime && $endDate instanceof DateInterval) {
    
        // 일치하는 타입으로 변환
    
        $endDate = new DateTime($startDate->format('Y-m-d') . ' + ' . $endDate->format('%y years'));
    
    } elseif ($startDate instanceof DateInterval && $endDate instanceof DateTime) {
    
        // 일치하는 타입으로 변환
    
        $startDate = new DateTime($startDate->format('%y years') . ' years ago');
    
    }
    
    
    
    // 날짜 간격을 계산
    
    $dateInterval = $startDate->diff($endDate);
    
    


    위의 예제에서, 시작 날짜와 종료 날짜의 타입이 일치하지 않으면 일치하는 타입으로 변환하여 날짜 간격을 계산합니다.

    2025-03-24 15:26

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

검색

게시물 검색