개발자 Q&A

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

2025.04.09 03:22

IntlCalendar::get 관련 질문내용

목록
  • 마이크로서비스연구가 5일 전 2025.04.09 03:22
  • 8
    1
IntlCalendar::get을 사용하여 시간 정보를 얻을 때 발생하는 오류

선생님, IntlCalendar::get을 사용하여 시간 정보를 얻을 때 발생하는 오류에 대해 도움을 요청합니다.

IntlCalendar 클래스를 사용하여 시간 정보를 얻기 위해 get() 메서드를 사용하려고 합니다. 그러나, 시간 정보가 없을 때 예외가 발생하는 것을 관찰했습니다.

IntlCalendar::get을 사용하여 시간 정보를 얻을 때, 시간 정보가 없을 때 예외가 발생하는 이유는 무엇이며, 어떻게 해결할 수 있는지 알려주세요.

IntlCalendar::get을 사용하여 시간 정보를 얻기 위해, 다음 코드를 사용했습니다.

php

$calendar = new IntlCalendar('ko_KR');

$year = $calendar->get(0); // 년도

$month = $calendar->get(1); // 월

$day = $calendar->get(2); // 일



그러나, 시간 정보가 없을 때 예외가 발생합니다. 어떻게 해야 할까요?

    댓글목록

    profile_image
    나우호스팅  5일 전



    IntlCalendar::get() 메서드는 지정된 필드에 대한 값을 반환합니다. 그러나, 시간 정보가 없을 때 예외가 발생하는 것은 일반적인 현상이 아닙니다.

    IntlCalendar 클래스는 ICU 라이브러리를 기반으로 하며, 시간 정보가 없을 때 예외가 발생하는 이유는 ICU 라이브러리의 구현에 따라 다를 수 있습니다.

    IntlCalendar::get() 메서드가 예외를 발생시키는 경우, ICU 라이브러리의 버전 문제나, 시간 정보가 없을 때 예외를 발생시키도록 설정된 경우일 수 있습니다.

    IntlCalendar::get() 메서드를 사용할 때, 시간 정보가 없을 때 예외를 발생시키지 않도록 하려면, try-catch 블록을 사용하여 예외를 캐치하고, 예외가 발생했을 때 기본값을 반환하도록 할 수 있습니다.

    예를 들어, 다음과 같이 코드를 수정할 수 있습니다.

    php
    
    $calendar = new IntlCalendar('ko_KR');
    
    try {
    
        $year = $calendar->get(0); // 년도
    
        $month = $calendar->get(1); // 월
    
        $day = $calendar->get(2); // 일
    
    } catch (Exception $e) {
    
        $year = 0;
    
        $month = 0;
    
        $day = 0;
    
    }
    
    


    위 코드에서, try 블록에서 IntlCalendar::get() 메서드를 호출하고, 예외가 발생하면 catch 블록에서 기본값을 반환합니다.

    IntlCalendar::get() 메서드를 사용할 때, 시간 정보가 없을 때 예외를 발생시키지 않도록 하려면, ICU 라이브러리의 버전을 확인하고, 시간 정보가 없을 때 예외를 발생시키도록 설정된 경우를 확인하는 것이 좋습니다.

    2025-04-09 03:23

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

검색

게시물 검색