fixed: Geburtstag liegt vor heutigem Datum
This commit is contained in:
parent
08ee557442
commit
cb3c154a0a
|
|
@ -47,11 +47,30 @@ public class Geburtstag {
|
|||
System.out.println(jetzt.getDayOfMonth() + "." + jetzt.getMonthValue() + "." + jetzt.getYear() +
|
||||
", " + jetzt.getHour() + ":" + jetzt.getMinute());
|
||||
int tageBisGeburtstag = 0;
|
||||
|
||||
// Wie viele Tage hat dieses Jahr? (Schaltjahr?)
|
||||
int tageImJahr = jetzt.getYear() % 4 == 0 ? 366 : 365;
|
||||
|
||||
if (myBirthday != null) {
|
||||
LocalDateTime meinGeburtstagDiesesJah = LocalDateTime.of(jetzt.getDayOfYear(), myBirthday.getMonth(),
|
||||
|
||||
// Wann ist der nächste Geburstag?
|
||||
LocalDateTime meinNaechesterGeburtstag = LocalDateTime.of(jetzt.getYear(), myBirthday.getMonth(),
|
||||
myBirthday.getDayOfMonth(), myBirthday.getHour(), myBirthday.getMinute());
|
||||
tageBisGeburtstag = meinGeburtstagDiesesJah.getDayOfYear() - jetzt.getDayOfYear();
|
||||
|
||||
// falls der Geburtstag schon dieses Jahr war
|
||||
if (meinNaechesterGeburtstag.isBefore(jetzt)) {
|
||||
meinNaechesterGeburtstag = meinNaechesterGeburtstag.plusYears(1);
|
||||
tageBisGeburtstag = (tageImJahr - meinNaechesterGeburtstag.getDayOfYear()) - jetzt.getDayOfYear();
|
||||
}
|
||||
// falls der Geburtstag noch kommt
|
||||
else {
|
||||
tageBisGeburtstag = meinNaechesterGeburtstag.getDayOfYear() - jetzt.getDayOfYear();
|
||||
}
|
||||
// Ausgabe
|
||||
System.out.println("Bis zu meinem Geburtstag sind es noch " + tageBisGeburtstag + " Tage.");
|
||||
System.out.println(meinNaechesterGeburtstag.getYear() > jetzt.getYear()
|
||||
? "Mein Geburtstag war dieses Jahr schon."
|
||||
: "Mein Geburtstag kommt dieses Jahr noch.");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue