Jahr, Monat und Tag vom Datum in Java extrahieren

Extrahieren von Jahr, Monat und Tag vom Datum in Java

1. Überblick

In diesem kurzen Tutorial sehen wir uns an, wie Sieyear,month undday  aus einem bestimmtenDate in Java extrahieren.

Wir werden untersuchen, wie diese Werte mithilfe der älterenjava.util.Date-Klasse und auch mithilfe der neuen Datums- / Uhrzeitbibliothek von Java 8 extrahiert werden.

In Java 8 wurde eine ganz neue Datums- und Zeitbibliothek fürnumber of good reasons eingeführt. Neben anderen Vorteilen giltthe new library provides a better API for operations such as extracting Year, Month, Day etc. from given Date.

Wenn Sie nach einem detaillierteren Artikel zur neuen Datums- / Uhrzeitbibliothek suchen, schauen Sie sichhere an.

2. Java 7 verwenden

Für ein gegebenesjava.util.Date to extrahieren Sie einzelne Felder wieYear,Month,Day etc. Der erste Schritt besteht darin, ihn in die Instanz vonCalendarzu konvertieren:

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

Sobald wir eineCalendar -Sinstanz haben, können wir direkt dieget-Methode aufrufen und das spezifische Feld bereitstellen, das wir extrahieren möchten.

Wir können Konstanten verwenden, die inCalendar vorhanden sind, um bestimmte Felder zu extrahieren.

2.1. Holen Sie sich das Jahr

Um dieyear, zu extrahieren, können wirget  aufrufen, indem wirCalendar.YEAR als Argument übergeben:

calendar.get(Calendar.YEAR);

2.2. Monat abrufen

Um diemonth, zu extrahieren, können wirget  aufrufen, indem wirCalendar.MONTH als Argument übergeben:

calendar.get(Calendar.MONTH);

Bitte beachten Sie, dass Monate inCalendar nullindexiert sind. Für Januar gibt diese Methode 0 zurück.

2.3. Holen Sie sich Tag

Um dieday, zu extrahieren, rufen wirget  auf, indem wirCalendar.DAY_OF_MONTH als Argument übergeben:

calendar.get(Calendar.DAY_OF_MONTH);

3. Java verwenden 8

Das neue Paketjava.time enthält eine Reihe von Klassen, die zur Darstellung vonDate verwendet werden können.

Jede Klasse unterscheidet sich durch die zusätzlichen Informationen, die sie zusätzlich zu denDate speichert.

Das grundlegendeLocalDate just enthält die Datumsinformationen, währendLocalDateTime sowohl Datums- als auch Zeitinformationen enthält.

In ähnlicher Weise enthalten fortgeschrittenere Klassen wieOffsetDateTime undZonedDateTime zusätzliche Informationen zum Versatz vonUTC bzw. Informationen zutime-zone.

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

Lassen Sie uns diese Methoden erkunden, um Informationen ausa LocalDate instance namelocalDate zu extrahieren.

3.1. Holen Sie sich das Jahr

UmYear, LocalDate zu extrahieren, wird einfacha getYear method bereitgestellt:

localDate.getYear();

3.2. Monat abrufen

UmMonth, we zu extrahieren, verwenden Sie in ähnlicher WeisegetMonthValue API:

localDate.getMonthValue();

Im Gegensatz zuCalendar werden Monate inLocalDate von 1 indiziert. für Januar wird dies 1 zurückgeben.

3.3. Holen Sie sich Tag

UmDay, zu extrahieren, haben wir schließlich die MethodegetDayOfMonth:

localDate.getDayOfMonth();

4. Fazit

In diesem kurzen Tutorial haben wir untersucht, wie in Java ganzzahlige Werte vonYear,Month undDay ausDate extrahiert werden.

Wir haben gezeigt, wie diese Werte mit den alten KlassenDate undCalendar sowie der neuen Datums- / Uhrzeitbibliothek von Java8 extrahiert werden.

Der vollständige Quellcode für in diesem Lernprogramm verwendete Snippets lautetavailable over at Github.