CET-Zeit in Java
Auf der ganzen weiten Welt gibt es über 190 Länder, in denen jedes Land einer bestimmten Zeitzone folgt. Diese Zeitzonen fungieren als Regeln, die entscheidend sind, um die Zeit sowohl bequem als auch effektiv auszudrücken. Diese Zeitzonen können sich jedoch aufgrund bestimmter Variablen wie der Sommerzeit als nicht explizit erweisen.
Java hat uns mehrere Klassen zur Verfügung gestellt, die Zeitzonen behandeln. Mit neuen Java-Versionen kamen viel umfangreichere und nützlichere Klassen wie ZoneId
und ZoneOffset
auf den Markt.
Mit dem Aufkommen von JSR-310 wurden einige neue und viel produktivere APIs für die Verwaltung von Zeit und Zeitzonen hinzugefügt. ZoneId
wurde eine solche Klasse hinzugefügt. Es ist eine Darstellung einer Zeitzone wie Europa/Berlin
.
Die meisten festen Offsets werden durch ZoneOffset
repräsentiert. Durch Aufruf von normalized()
auf einer beliebigen ZoneId
können wir sicherstellen, dass eine feste Offset-ID als ZoneOffset
dargestellt wird.
Die IANA-Definition von MEZ besagt, dass sie den Zeitzonenregeln Mitteleuropas folgt, die sowohl die Sommer- als auch die Winterzeit umfassen.
Man sollte verstehen, dass die Zeitzonenkennung und der Kurzname dieser Kennung zwei verschiedene Elemente sind. Der Name kann zwischen CET
und CEST
wechseln, die Kennung ist jedoch immer auf CET
festgelegt.
Wir können die Funktionalität in Bezug auf die Zeitzone CET
mit der Funktion getRules()
abrufen. Es kann den Offset zum gegebenen Zeitpunkt übermitteln.
Siehe den folgenden Code.
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());
}
}
Ausgabe:
Zone Name: CET
Offset ZoneRules[currentStandardOffset=+01:00]
Eine andere Möglichkeit könnte darin bestehen, ZoneOffset.ofHours(1)
anstelle von ZoneId.of("CET")
zu verwenden. Die Gesamtzahl der Übergänge und Regeln für den Übergang können wir mit getTransitions()
und getTransitionRules()
ermitteln.