41 lines
1.2 KiB
Java
41 lines
1.2 KiB
Java
/** Klasse zum Abspeichern, Ausgeben und Modifizieren eines Datums */
|
|
public class Datum {
|
|
public int tag;
|
|
public int monat;
|
|
public int jahr;
|
|
|
|
/** gibt zurück ob es sich bei dem Jahr des Datums um ein Schaltjahr handelt */
|
|
public boolean istSchaltjahr() {
|
|
return jahr % 4 == 0 && (jahr % 100 != 0 || jahr % 400 == 0);
|
|
}
|
|
|
|
/** gibt das Datum in deutscher Schreibweise aus (tt.mm.jjjj) */
|
|
public String getDeutscheSchreibung() {
|
|
return String.format("%02d.%02d.%04d", tag, monat, jahr);
|
|
}
|
|
|
|
/** gibt das Datum in amerikanischer Schreibweise aus (mm/tt/jjjj) */
|
|
public String getAmerikanischeSchreibung() {
|
|
return String.format("%02d/%02d/%04d", monat, tag, jahr);
|
|
}
|
|
|
|
/** setzt das Datum auf das Datum von Morgen */
|
|
public void setMorgen() {
|
|
tag++;
|
|
|
|
// Tage im Aktuellen Monat ermitteln
|
|
int tageImMonat = monat == 2 ? istSchaltjahr() ? 29 : 28 :
|
|
monat < 8 ? monat % 2 == 0 ? 30 : 31 : monat % 2 == 0 ? 31 : 30;
|
|
|
|
if (tag > tageImMonat) {
|
|
monat++;
|
|
tag = 1;
|
|
if (monat > 12) {
|
|
monat = 1;
|
|
jahr++;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|