개발자 Q&A

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

2025.05.16 12:09

IntlCalendar::getRepeatedWallTimeOption 관련 질문

목록
  • Android개발광 14일 전 2025.05.16 12:09
  • 37
    1
제가 IntlCalendar 클래스를 사용 중인데, getRepeatedWallTimeOption 메소드의 동작을 이해하지 못해 질문드립니다.

getRepeatedWallTimeOption 메소드는 시간대가 반복되는 경우 wall clock 시간을 어떻게 처리하는지에 대한 옵션을 반환합니다. 하지만 이 옵션의 의미를 정확히 모르겠습니다.

예를 들어, UTC+9 시간대가 1시간씩 반복되는 경우 wall clock 시간은 어떻게 처리되는지 궁금하네요.

혹시 이 옵션의 예시 코드나 설명을 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  14일 전



    getRepeatedWallTimeOption 메소드는 시간대가 반복되는 경우 wall clock 시간을 어떻게 처리하는지에 대한 옵션을 반환합니다. 이 옵션은 시간대가 반복되는 경우 wall clock 시간을 어떻게 처리할지에 대한 설정입니다.

    예를 들어, UTC+9 시간대가 1시간씩 반복되는 경우 wall clock 시간은 다음과 같이 처리됩니다.

    - WALL_TIME_OPTION_IGNORE_REPEATED_WALL_TIME: 시간대가 반복되는 경우 wall clock 시간은 무시합니다.
    - WALL_TIME_OPTION_AVERAGE_REPEATED_WALL_TIME: 시간대가 반복되는 경우 wall clock 시간은 평균값으로 처리합니다.
    - WALL_TIME_OPTION_LAST_REPEATED_WALL_TIME: 시간대가 반복되는 경우 wall clock 시간은 마지막 반복된 시간으로 처리합니다.

    예시 코드는 다음과 같습니다.

    #hostingforum.kr
    java
    
    import java.util.Calendar;
    
    import java.util.TimeZone;
    
    
    
    public class Main {
    
        public static void main(String[] args) {
    
            // UTC+9 시간대가 1시간씩 반복되는 경우
    
            TimeZone tz = TimeZone.getTimeZone("Asia/Seoul");
    
            Calendar cal = Calendar.getInstance(tz);
    
    
    
            // WALL_TIME_OPTION_IGNORE_REPEATED_WALL_TIME
    
            cal.set(Calendar.YEAR, 2024);
    
            cal.set(Calendar.MONTH, 0);
    
            cal.set(Calendar.DAY_OF_MONTH, 1);
    
            cal.set(Calendar.HOUR_OF_DAY, 0);
    
            cal.set(Calendar.MINUTE, 0);
    
            cal.set(Calendar.SECOND, 0);
    
            cal.set(Calendar.MILLISECOND, 0);
    
            System.out.println("WALL_TIME_OPTION_IGNORE_REPEATED_WALL_TIME: " + cal.getTime());
    
    
    
            // WALL_TIME_OPTION_AVERAGE_REPEATED_WALL_TIME
    
            cal.set(Calendar.YEAR, 2024);
    
            cal.set(Calendar.MONTH, 0);
    
            cal.set(Calendar.DAY_OF_MONTH, 1);
    
            cal.set(Calendar.HOUR_OF_DAY, 12);
    
            cal.set(Calendar.MINUTE, 0);
    
            cal.set(Calendar.SECOND, 0);
    
            cal.set(Calendar.MILLISECOND, 0);
    
            System.out.println("WALL_TIME_OPTION_AVERAGE_REPEATED_WALL_TIME: " + cal.getTime());
    
    
    
            // WALL_TIME_OPTION_LAST_REPEATED_WALL_TIME
    
            cal.set(Calendar.YEAR, 2024);
    
            cal.set(Calendar.MONTH, 0);
    
            cal.set(Calendar.DAY_OF_MONTH, 1);
    
            cal.set(Calendar.HOUR_OF_DAY, 23);
    
            cal.set(Calendar.MINUTE, 59);
    
            cal.set(Calendar.SECOND, 59);
    
            cal.set(Calendar.MILLISECOND, 999);
    
            System.out.println("WALL_TIME_OPTION_LAST_REPEATED_WALL_TIME: " + cal.getTime());
    
        }
    
    }
    
    


    이 예시 코드는 WALL_TIME_OPTION_IGNORE_REPEATED_WALL_TIME, WALL_TIME_OPTION_AVERAGE_REPEATED_WALL_TIME, WALL_TIME_OPTION_LAST_REPEATED_WALL_TIME의 동작을 보여줍니다.

    2025-05-16 12:10

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

검색

게시물 검색