Jahrdifferenz in Eclipse berechnen mit dem Aktuellen Jahr?

... komplette Frage anzeigen

4 Antworten

Eigentlich ist der GregorianCalendar hier wirklich die bessere Alternative, da er dir z. B. einfach die Jahreszahl ausgeben kann. Date arbeitet ausschließlich mit Millisekunden sein dem 01.01.1970. Machbar ist es aber trotzdem, ist aber umständlich.  

Erstmal kannst du dir die curdate variable vermutlich sparen. Wenn du das aktuelle Datum willst, ist es meistens sinnvoller, es zum Zeitpunkt der Ausführung jedes mal neu zu ermitteln. Den getter verwendest du hier gar nicht. Außerdem ist new Date(System.currentTimeMillis()) exakt das gleiche wie new Date(). Wenn du direkt die Systemzeit in Millisekunden nimmst, kannst du dir daraus natürlich das Jahr errechnen und die Differenz zum Baujahr ermitteln, aber wie gesagt, das ist nicht ganz so einfach (weil nicht jedes Jahr gleich lang ist). 

Antwort bewerten Vielen Dank für Deine Bewertung

Wie Gehilfling schon richtigerweise schrieb. Kannst du dir aus dem Calendarobjekt die notwendigen Informationen holen.

Der absolut einfachste Weg wäre folgender:

int baujahr = 2014; 
int aktuellesJahr = Calendar.getInstance().get(Calendar.YEAR); 
int alter = aktuellesJahr - baujahr;

Soweit sollte das für deine Übungen reichen.

Theoretisch hast du ein Problem, da keine Tage berücksichtigt sind. aber wie gesagt, für die Übung sollte es reichen.

Calendar.getInstance() ohne weiteres gibt dir ein umfangreiches Objekt welches auch den aktuellen Datums-Wert besitzt.

Antwort bewerten Vielen Dank für Deine Bewertung

Erstelle dir eine Integer-Variable, welche dann folgenden Wert erhält:

int year = Calendar.getInstance().get(Calendar.YEAR);
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von KnusperPudding
24.02.2016, 17:02

zwar ist Calendar.getInstance() schonmal ein guter hinweis, aber zur Lösung fehlt noch was.

Per get(Calendar.YEAR) bekommt man nur das aktuelle Jahr raus - Jedoch braucht man das zur Lösung des Problems nicht.

0

Dafür gibt es in der Calendar Klasse bereits Methoden.

Calendar calendar = Calendar.getInstance();
calendar.roll(Calendar.YEAR, 1);
Date d = calendar.getTime();
Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?