개발자 Q&A

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

2025.03.31 07:51

DateTime::getLastErrors에 대한 질문

목록
  • CI/CD장인 2일 전 2025.03.31 07:51
  • 1
    1
제가 DateTime::getLastErrors 함수를 사용하여 시간 관련 오류를 확인하고자 하는데요.
getLastErrors 함수는 어떤 정보를 반환하는지 궁금합니다.
그리고 DateTime::getLastErrors 함수를 사용할 때, 예를 들어 DateTime::createFromFormat 함수를 사용할 때 잘못된 형식의 날짜를 입력하면 getLastErrors 함수를 통해 어떤 오류 메시지를 받을 수 있는지 궁금합니다.

getLastErrors 함수의 반환값을 어떻게 처리해야 하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    DateTime::getLastErrors 함수는 DateTime 클래스에서 발생한 마지막 오류 정보를 반환합니다. 반환값은 배열로 구성되며, 오류 코드, 오류 메시지, 오류 유형을 포함합니다.

    오류 코드는 DateTime 클래스에서 정의한 코드로, 오류 유형을 식별하는 데 사용됩니다. 오류 메시지는 오류가 발생한 이유를 설명하는 문자열입니다. 오류 유형은 'warning', 'parse', 'unparse' 중 하나로, 오류가 발생한 위치를 나타냅니다.

    예를 들어, DateTime::createFromFormat 함수를 사용하여 잘못된 형식의 날짜를 입력하면 getLastErrors 함수를 통해 다음과 같은 오류 메시지를 받을 수 있습니다.

    #hostingforum.kr
    php
    
    $date = DateTime::createFromFormat('Y-m-d', '2022-13-01');
    
    $errors = DateTime::getLastErrors();
    
    
    
    print_r($errors);
    
    


    출력 결과는 다음과 같습니다.

    #hostingforum.kr
    php
    
    Array
    
    (
    
        [warning_count] => 0
    
        [warning_message] => 
    
        [parse_count] => 1
    
        [parse_message] => 
    
        [unparse_count] => 0
    
        [unparse_message] => 
    
        [errors] => Array
    
            (
    
                [warning] => Array
    
                    (
    
                    )
    
    
    
                [parse] => Array
    
                    (
    
                        [0] => Warning: DateTime::createFromFormat(): Failed to parse time string (2022-13-01) at position 5 (1): Unexpected character in Y-m-d format
    
                    )
    
    
    
                [unparse] => Array
    
                    (
    
                    )
    
    
    
            )
    
    
    
    )
    
    


    getLastErrors 함수의 반환값을 처리하는 방법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    $date = DateTime::createFromFormat('Y-m-d', '2022-13-01');
    
    $errors = DateTime::getLastErrors();
    
    
    
    if ($errors['parse_count'] > 0) {
    
        foreach ($errors['parse'] as $error) {
    
            print($error . "n");
    
        }
    
    }
    
    


    이 코드는 parse 오류가 발생한 경우 오류 메시지를 출력합니다.

    2025-03-31 07:52

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

검색

게시물 검색