Java의 CET 시간
전 세계적으로 190 개 이상의 국가가 있으며 각 국가는 특정 시간대를 따릅니다. 이러한 시간대는 시간을 훨씬 편리하고 효과적으로 표현하는 데 중요한 규칙 역할을합니다. 그러나 이러한 시간대는 일광 절약 시간과 같은 특정 변수로 인해 명시 적이 지 않은 것으로 판명 될 수 있습니다.
Java는 시간대를 처리하는 여러 클래스를 제공했습니다. 새로운 버전의 Java가 나오면서ZoneId
및ZoneOffset
과 같은 훨씬 더 광범위하고 유용한 클래스가 등장했습니다.
JSR-310의 등장으로 시간 및 시간대 관리를 위해 새롭고 훨씬 더 생산적인 API가 추가되었습니다. ZoneId
는 이러한 클래스 중 하나가 추가되었습니다. Europe/Berlin
과 같은 시간대를 나타냅니다.
대부분의 고정 오프셋은ZoneOffset
으로 표시됩니다. ZoneId
에서normalized()
를 호출하여 고정 오프셋 ID가ZoneOffset
으로 표시되는지 확인할 수 있습니다.
CET의 IANA 정의에 따르면 여름철과 겨울철을 모두 포함하는 중부 유럽의 시간대 규칙을 따릅니다.
시간대 식별자와 해당 식별자의 짧은 이름은 서로 다른 두 요소라는 것을 이해해야합니다. 이름은CET
와CEST
사이에서 변경 될 수 있지만 식별자는 항상CET
로 고정됩니다.
getRules()
함수를 사용하여CET
시간대와 관련된 기능을 얻을 수 있습니다. 주어진 시간에 오프셋을 전달할 수 있습니다.
다음 코드를 참조하십시오.
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
ZoneId zone = ZoneId.of("CET");
System.out.println("Zone Name: " + zone);
System.out.println("Offset " + zone.getRules());
}
}
출력:
Zone Name: CET
Offset ZoneRules[currentStandardOffset=+01:00]
다른 방법은ZoneId.of("CET")
를 사용하는 대신ZoneOffset.ofHours(1)
를 사용하는 것입니다. getTransitions()
및getTransitionRules()
를 사용하여 전환에 대한 총 전환 및 규칙을 가져올 수 있습니다.