Schaltjahre in Java finden

1. Übersicht

In diesem Tutorial zeigen wir Ihnen verschiedene Möglichkeiten, um festzustellen, ob ein bestimmtes Jahr in Java ein Schaltjahr ist.

Ein Schaltjahr ist ein Jahr, das ohne Rest durch 4 und 400 teilbar ist . Jahre, die durch 100, aber nicht durch 400 teilbar sind, qualifizieren sich nicht, obwohl sie durch 4 teilbar sind.

2. Verwenden der Pre-Java-8-Kalender-API

Seit Java 1.1 können wir mit der GregorianCalendar- Klasse prüfen, ob ein Jahr ein Schaltjahr ist:

public boolean isLeapYear(int year);

Wie zu erwarten ist, gibt diese Methode true zurück , wenn das angegebene Jahr ein Schaltjahr ist, und false für Nicht-Schaltjahre.

Jahre in BC (vor Christus) müssen als negative Werte übergeben werden und werden als 1 Jahr berechnet . Zum Beispiel wird das Jahr 3 v. Chr. Als -2 dargestellt, da 1 - 3 = -2.

3. Verwenden der Java 8+ -Datum / Uhrzeit-API

Java 8 führte Java ein . Zeit - Paket mit einem viel besseren Datum und Uhrzeit API.

Die Klasse Jahr in Java . Das Zeitpaket verfügt über eine statische Methode, um zu überprüfen, ob das angegebene Jahr ein Schaltjahr ist:

public static boolean isLeap(long year);

Und es gibt auch eine Instanzmethode, um dasselbe zu tun:

public boolean isLeap();

4. Verwenden der Joda-Time-API

Die Joda-Time-API ist eine der am häufigsten verwendeten Bibliotheken von Drittanbietern unter den Java-Projekten für Datums- und Zeitdienstprogramme. Seit Java 8 befindet sich diese Bibliothek in einem wartbaren Zustand, wie im Joda-Time GitHub-Quellrepository erwähnt.

Es gibt keine vordefinierte API-Methode, um ein Schaltjahr in Joda-Time zu finden. Wir können jedoch die Klassen LocalDate und Days verwenden, um das Schaltjahr zu überprüfen:

LocalDate localDate = new LocalDate(2020, 1, 31); int numberOfDays = Days.daysBetween(localDate, localDate.plusYears(1)).getDays(); boolean isLeapYear = (numberOfDays > 365) ? true : false;

5. Schlussfolgerung

In diesem Tutorial haben wir gesehen, was ein Schaltjahr ist, wie es zu finden ist und welche Java-APIs wir verwenden können, um es zu überprüfen.

Wie immer finden Sie Code-Schnipsel auf GitHub.