Jahr aus Datum holen in Java

Rupam Yadav 12 Oktober 2023
  1. Ermitteln des aktuellen Jahres mit Date und LocalDate in Java
  2. Das aktuelle Jahr mit Date und SimpleDateFormat in Java ermitteln
  3. Abrufen des aktuellen Jahres mit Date.getYear() und Calendar
Jahr aus Datum holen in Java

In diesem Tutorial wird beschrieben, wie man das aktuelle Jahr in Java ermitteln kann. Wir werden die Klasse java.util.Date verwenden, um das aktuelle Datum zu ermitteln und dann das aktuelle Jahr mit Hilfe verschiedener Methoden zu extrahieren.

Ermitteln des aktuellen Jahres mit Date und LocalDate in Java

Die Klasse java.util.Date hat die Methode getyear(), die einen Wert zurückgibt, der vom Jahr 1900 subtrahiert wird. Aber diese Methode wurde in Java schon vor längerer Zeit veraltet. Stattdessen können wir die Klasse LocalDate, die in java.time verfügbar ist, als bevorzugte Methode verwenden, um alle Datums- und Zeitoperationen durchzuführen.

Wir konvertieren das date-Objekt in ein LocalDate-Objekt, indem wir date.toInstant() verwenden, das den Zeitpunkt der Zeit zurückgibt. Als nächstes rufen wir atZone() auf, um die Standard-Zeitzone des Systems mit ZoneId.systemDefault() festzulegen und den Wert an den Konstruktor von atZone() zu übergeben. Als letztes rufen wir toLocalDate() auf, um den Zeitwert in LocalDate zu konvertieren.

Da wir nun ein LocalDate-Objekt getLocalDate haben, erhalten wir das Jahr mit getLocalDate.getYear().

import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

public class DateGetYear {
  public static void main(String[] args) {
    Date date = new Date();

    ZoneId timeZone = ZoneId.systemDefault();
    LocalDate getLocalDate = date.toInstant().atZone(timeZone).toLocalDate();
    System.out.println(getLocalDate.getYear());
  }
}

Ausgabe:

2021

Das aktuelle Jahr mit Date und SimpleDateFormat in Java ermitteln

Date liefert sowohl das Datum als auch die Uhrzeit, wobei die Zeit auf 00:00:00 gesetzt ist. Um nur das Jahr zu erhalten, formatieren wir das Date mit SimpleDateFormat. Wir erzeugen ein SimpleDateFormat-Objekt und übergeben das Format, z. B. yyyy. Wir rufen format() auf und verwenden das Date als Argument. getYearFormat.format(date) gibt das Ergebnis in Form einer Zeichenkette zurück, wie in der Ausgabe gezeigt.

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateGetYear {
  public static void main(String[] args) {
    Date date = new Date();

    SimpleDateFormat getYearFormat = new SimpleDateFormat("yyyy");
    String currentYear = getYearFormat.format(date);
    System.out.println(currentYear);
  }
}
2021

Abrufen des aktuellen Jahres mit Date.getYear() und Calendar

Die letzte Methode verwendet die Klasse Calendar, die einige Methoden von java.util.Date ersetzen soll. Wir erstellen ein Date-Objekt und erhalten eine Instanz von Calendar mit calendar.getInstance(). Danach rufen wir die Methode calendar.setTime() auf, um die Zeit des Kalenders mit Date zu setzen.

Um nun das Jahr zu erhalten, rufen wir calendar.get() auf, das einen Wert des als Argument übergebenen Feldes zurückgibt. Wir übergeben Calendaer.YEAR, um das Jahr als int zu erhalten.

import java.util.Calendar;
import java.util.Date;

public class DateGetYear {
  public static void main(String[] args) {
    Date date = new Date();
    Calendar calendar = Calendar.getInstance();

    calendar.setTime(date);
    int dateYear = calendar.get(Calendar.YEAR);
    System.out.println(dateYear);
  }
}

Ausgabe:

2021
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Verwandter Artikel - Java DateTime