
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