Java의 CET 시간

Hiten Kanwar 2023년10월12일
Java의 CET 시간

전 세계적으로 190 개 이상의 국가가 있으며 각 국가는 특정 시간대를 따릅니다. 이러한 시간대는 시간을 훨씬 편리하고 효과적으로 표현하는 데 중요한 규칙 역할을합니다. 그러나 이러한 시간대는 일광 절약 시간과 같은 특정 변수로 인해 명시 적이 지 않은 것으로 판명 될 수 있습니다.

Java는 시간대를 처리하는 여러 클래스를 제공했습니다. 새로운 버전의 Java가 나오면서ZoneIdZoneOffset과 같은 훨씬 더 광범위하고 유용한 클래스가 등장했습니다.

JSR-310의 등장으로 시간 및 시간대 관리를 위해 새롭고 훨씬 더 생산적인 API가 추가되었습니다. ZoneId는 이러한 클래스 중 하나가 추가되었습니다. Europe/Berlin과 같은 시간대를 나타냅니다.

대부분의 고정 오프셋은ZoneOffset으로 표시됩니다. ZoneId에서normalized()를 호출하여 고정 오프셋 ID가ZoneOffset으로 표시되는지 확인할 수 있습니다.

CET의 IANA 정의에 따르면 여름철과 겨울철을 모두 포함하는 중부 유럽의 시간대 규칙을 따릅니다.

시간대 식별자와 해당 식별자의 짧은 이름은 서로 다른 두 요소라는 것을 이해해야합니다. 이름은CETCEST사이에서 변경 될 수 있지만 식별자는 항상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()를 사용하여 전환에 대한 총 전환 및 규칙을 가져올 수 있습니다.

관련 문장 - Java Time