Jahrdifferenz in Eclipse berechnen mit dem Aktuellen Jahr?

4 Antworten

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.

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

Calendar calendar = Calendar.getInstance();
calendar.roll(Calendar.YEAR, 1);
Date d = calendar.getTime();

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). 

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

int year = Calendar.getInstance().get(Calendar.YEAR);

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
Gehilfling  24.02.2016, 21:54
@KnusperPudding

Er möchte doch das Alter eines Fahrzeugs bestimmen? Dafür braucht er doch das aktuelle Jahr, damit er die Differenz zum Baujahr bilden kann. Das hab ich ihm aber noch selbst zugetraut.

0