Eine Liste mit Geburtsdaten und Alter berechnen.

StillerRegen

Mitglied
Hey Lieber Leser,

ich habe ein kleines Problem bezüglich dem Geburtstag,
ich habe in einer Datenbank, den Geburtstag, Geburtsmonat und Geburtsjahr, die möchte ich nun in eine separate Liste packen, um dann Später, wenn einer Geburtstag hat, das Alter zu berechnen.

Weiß jemand wie das gehen könnte?

Java:
ArrayList<MonthDay> Geburtstag = new ArrayList<MonthDay>();

while (rs.next()) {
                int gday = rs.getInt("psn_geburtstag");
                int gmonth = rs.getInt("psn_geburtsmonat");
                int gyear = rs.getInt("psn_geburtsjahr");


               " Hier muss es Hinzugefügt werden, aber wie?"
 
Moinsen,

Weil ich sage ich mal von Mehreren Personen das Geburtsdatum habe, mir ist vorerst keine andere Lösung eingefallen.
Ja, ich könnte es natürlich schon davor, die Daten sind ja in der Datenbank hinterlegt, dann müssten die nur noch als Date heraus gelesen werden.
MonthDay ist eine Typ wie Integer, String etc. nur wie der Name schon sagt, speicherst du damit Monat und Tag,

Mit "Hier" meine ich, dass dort die Geburtsdaten in die Liste reingepackt werden.
 
Moin,
ich könnte es natürlich schon davor, die Daten sind ja in der Datenbank hinterlegt, dann müssten die nur noch als Date heraus gelesen werden.
Das wäre schon mal eine Möglichkeit, die ich immer bevorzugen würde (wobei man halt nicht weiß, wie die Daten VOR dem Speichern bei Dir vorliegen!)

MonthDay ist eine Typ wie Integer, String etc. nur wie der Name schon sagt, speicherst du damit Monat und Tag
Ah, ok, kannte ich noch nicht - habe ich aber aber auch nopch nie vermisst :giggle:
Suchst Du vlt. sowas: http://www.java2s.com/Tutorials/Java/java.time/MonthDay/MonthDay.of_int_month_int_dayOfMonth_.htm

Mit "Hier" meine ich, dass dort die Geburtsdaten in die Liste reingepackt werden.
hmm, wenn Du dort Deine Monthday-Objekte erzeugt hast, dann fügst Du sie halt zur Arraylist hinzu ...
https://www.tutorialspoint.com/java/util/arraylist_add_index.htm

So richtig verstehe ich Dein Problem noch immer nicht :eek:

VG Klaus
 
Die Daten sind in einer Datenbank als Integer Gespeichert also:

Du hast drei Spalten Geburtstag, Geburtsmonat, Geburtsjahr alle als Integer,

Mein Problem ist, dass ich das Jahr nicht dazu bekomme, ich bekomme lediglich den Monat und den Tag, was mir erlaubt nachzufragen, ob die Person heute Geburtstag hat oder nicht Yippie Yahu, aber ich kann das Alter nicht berechnen, da ich das Geburtsjahr dafür brauche. :)
 
Ja die Daten liegen als Integer vor.

Habe beides Probiert,

ArrayList<Date> als auch ArrayList<DateFormat> probiert, und beides gibt mir nur Non-Sense aus....

Java:
ArrayList<Date>   Geburtstag = new ArrayList<Date>();

while(rs.next()){
                Date gday = rs.getDate("Geburtstag");
                Date gmonth = rs.getDate("Geburtsmonat");
                Date gyear = rs.getDate("Geburtsjahr");
                
                Geburtstag.add(gday);
                Geburtstag.add(gmonth);
                Geburtstag.add(gyear);
                
                System.out.format("%s,%s,%s\n", gday,gmonth,gyear);
            }
 
Zurück