6
자바 프로그램이 현재 로컬 시간대로 이벤트를 기록해야합니다. 문제는 사용자가 시간대를 변경할 수 있지만 시스템 시간대가 변경된 경우에도 Java 프로그램이 "이전"시간대로 계속 실행된다는 것입니다.
자바 시간대가 런타임에 변경됨
내가 자바 VM은 기본적으로 자바 프로그램이 실행되는 시간대를 설정하는 것으로 의심되는 (Timezone.setDefault()
에 대한 javadoc에서는 "는 VM 처음 시작했을 때 원래의 값에 디폴트가 다시."라고)
사실입니까? Java는 기본 시스템 시간대를 기본 시스템 시간대로 업데이트 할 수 없으므로 VM을 다시 시작해야합니까?
자바 7에서'setDefault'는 zone 인수를 취하고 null을 전달한 경우에만 원본으로 재설정됩니다 : "zone이 null이면 VM을 처음 시작했을 때의 원래 값으로 재설정하십시오." [API here] (http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html#setDefault (java.util.TimeZone)) – azurefrog