Extrahieren von Jahr, Monat und Tag aus dem Datum in Java

1. Übersicht

In diesem kurzen Tutorial erfahren Sie, wie Sie Jahr , Monat und Tag aus einem bestimmten Datum in Java extrahieren .

Wir werden uns ansehen, wie diese Werte mit der alten Klasse java.util.Date und auch mit der neuen Datums- / Uhrzeitbibliothek von Java 8 extrahiert werden .

In Java 8 wurde aus mehreren guten Gründen eine völlig neue Datums- und Zeitbibliothek eingeführt. Neben anderen Vorteilen bietet die neue Bibliothek eine bessere API für Vorgänge wie das Extrahieren von Jahr , Monat , Tag usw. aus einem bestimmten Datum .

Wenn Sie nach einem ausführlicheren Artikel über die neue Datums- und Uhrzeitbibliothek suchen, schauen Sie hier.

2. Verwenden von Java 7

Für ein bestimmtes java.util.Date , um einzelne Felder wie Jahr , Monat , Tag usw. zu extrahieren , müssen wir es zunächst in eine Kalenderinstanz konvertieren :

Date date = // the date instance Calendar calendar = Calendar.getInstance(); calendar.setTime(date);

Sobald wir eine Kalenderinstanz haben , können wir ihre get- Methode direkt aufrufen und das spezifische Feld bereitstellen, das wir extrahieren möchten.

Wir können im Kalender vorhandene Konstanten verwenden , um bestimmte Felder zu extrahieren.

2.1. Holen Sie sich Jahr

Um das Jahr zu extrahieren , können wir get aufrufen , indem wir Calendar.YEAR als Argument übergeben:

calendar.get(Calendar.YEAR);

2.2. Holen Sie sich Monat

Um den Monat zu extrahieren , können wir get aufrufen , indem wir Calendar.MONTH als Argument übergeben:

calendar.get(Calendar.MONTH);

Bitte beachten Sie, dass die Monate im Kalender nullindiziert sind. Für Januar gibt diese Methode 0 zurück.

2.3. Holen Sie sich Tag

Um den Tag zu extrahieren , rufen wir get auf , indem wir Calendar.DAY_OF_MONTH als Argument übergeben:

calendar.get(Calendar.DAY_OF_MONTH);

3. Verwenden von Java 8

Das neue java.time Paket enthält eine Reihe von Klassen , die für die Darstellung verwendet werden kann Datum .

Jede Klasse unterscheidet sich durch die zusätzlichen Informationen, die sie zusätzlich zum Datum speichert .

Das grundlegende LocalDate enthält nur die Datumsinformationen , während LocalDateTime sowohl Datums- als auch Zeitinformationen enthält.

In ähnlicher Weise enthalten erweiterte Klassen wie OffsetDateTime und ZonedDateTime zusätzliche Informationen zum Offset von UTC bzw. Informationen zur Zeitzone .

In jedem Fall unterstützen alle diese Klassen direkte Methoden zum Extrahieren von Jahres-, Monats- und Datumsinformationen.

Lassen Sie sich diese Methoden zu extrahieren Informationen aus erkundet ein LOCALDATE Instanznamen LOCALDATE .

3.1. Holen Sie sich Jahr

Um Year zu extrahieren , bietet LocalDate einfach eine getYear- Methode:

localDate.getYear();

3.2. Holen Sie sich Monat

In ähnlicher Weise verwenden wir zum Extrahieren von Month die getMonthValue- API:

localDate.getMonthValue();

Im Gegensatz zum Kalender werden Monate in LocalDate von 1 indiziert. für Januar wird dies 1 zurückgeben.

3.3. Holen Sie sich Tag

Um Day zu extrahieren , haben wir schließlich die Methode getDayOfMonth :

localDate.getDayOfMonth();

4. Fazit

In diesem kurzen Tutorial haben wir untersucht, wie Sie in Java ganzzahlige Werte für Jahr , Monat und Tag aus dem Datum extrahieren können .

Wir haben gezeigt , wie diese Werte zu extrahieren , die alten mit Datum und Kalender - Klassen sowie die neue Datum Zeitbibliothek von Java8.

Der vollständige Quellcode für die in diesem Tutorial verwendeten Snippets ist bei Github erhältlich.