Hallo allerseits,
mein Kollege ist aus der Firma weg gegangen und nun muss ich sein Projekt weiter führen. Ich habe jetzt damit ein Problem, weil an manchen Stellen keine Kommentare vorhanden sind und ich nicht weiß was an den Code-Fragment getan wird.
Ich brauche Hilfe mit der Ausgabe der Feiertage
Mein Problem ist bei der Ausgabe des Neujahr, wieso funktioniert dieser nicht. Ist etwas an der Berechnung falsch? Google hat auch nichts gebracht....Vielen Dank im vorraus.
mein Kollege ist aus der Firma weg gegangen und nun muss ich sein Projekt weiter führen. Ich habe jetzt damit ein Problem, weil an manchen Stellen keine Kommentare vorhanden sind und ich nicht weiß was an den Code-Fragment getan wird.
Ich brauche Hilfe mit der Ausgabe der Feiertage
Code:
public static Vector<DateX> getHolidays(int year)
{
int jahr = year;
int a = jahr % 19;
int b = jahr % 4;
int c = jahr % 7;
int monat = 0;
int m = (8 * (jahr / 100) + 13) / 25 - 2;
int s = jahr / 100 - jahr / 400 - 2;
m = (15 + s - m) % 30;
int n = (6 + s) % 7;
int d = (m + 19 * a) % 30;
if(d == 29)
d = 28;
else if(d == 28 && a >= 11)
d = 27;
int e = (2 * b + 4 * c + 6 * d + n) % 7;
int tag = 21 + d + e + 1;
if(tag > 31)
{
tag = tag % 31;
monat = 3;
}
if(tag <= 31)
{
monat = 2;
}
GregorianCalendar gc_ostersonntag = new GregorianCalendar(jahr, monat, tag);
GregorianCalendar gc_ostermontag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 1));
GregorianCalendar gc_karfreitag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) - 2));
GregorianCalendar gc_rosenmontag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) - 48));
GregorianCalendar gc_christihimmelfahrt = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 39));
GregorianCalendar gc_pfinstsonntag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 49));
GregorianCalendar gc_pfinstmontag = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 50));
GregorianCalendar gc_frohnleichnahm = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), gc_ostersonntag.get(Calendar.MONTH), (gc_ostersonntag.get(Calendar.DATE) + 60));
GregorianCalendar gc_mariaehimmelfahrt = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 7, 15);
GregorianCalendar gc_wiedervereinigung = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 9, 3);
GregorianCalendar gc_allerheiligen = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 10, 1);
GregorianCalendar gc_weihnachten_1 = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 11, 24);
GregorianCalendar gc_weihnachten_2 = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 11, 25);
GregorianCalendar gc_weihnachten_3 = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 11, 26);
GregorianCalendar gc_silvester = new GregorianCalendar(gc_ostersonntag.get(Calendar.YEAR), 11, 31);
GregorianCalendar gc_neujahr = new GregorianCalendar(gc_silvester.get(Calendar.YEAR), 0, 1);
Vector<DateX> dates = new Vector<DateX>();
dates.add(new DateX(gc_ostermontag.getTimeInMillis(),"Ostermontag"));
dates.add(new DateX(gc_karfreitag.getTimeInMillis(),"Karfreitag"));
dates.add(new DateX(gc_rosenmontag.getTimeInMillis(),"Rosemontag"));
dates.add(new DateX(gc_christihimmelfahrt.getTimeInMillis(),"Christi Himmelfahrt"));
dates.add(new DateX(gc_pfinstsonntag.getTimeInMillis(),"Pfingstsonntag"));
dates.add(new DateX(gc_pfinstmontag.getTimeInMillis(),"Pfingstmontag"));
dates.add(new DateX(gc_frohnleichnahm.getTimeInMillis(),"Frohenleichnahm"));
dates.add(new DateX(gc_mariaehimmelfahrt.getTimeInMillis(),"Mariä Himmelfahrt"));
dates.add(new DateX(gc_weihnachten_1.getTimeInMillis(),"Weihnachten"));
dates.add(new DateX(gc_weihnachten_2.getTimeInMillis(),"1. Weihnachtsfeiertag"));
dates.add(new DateX(gc_weihnachten_3.getTimeInMillis(),"2. Weihnachtsfeiertag"));
dates.add(new DateX(gc_silvester.getTimeInMillis(),"Silvester"));
dates.add(new DateX(gc_neujahr.getTimeInMillis(),"Neujahr"));
dates.add(new DateX(gc_wiedervereinigung.getTimeInMillis(),"Wiedervereinigung"));
dates.add(new DateX(gc_allerheiligen.getTimeInMillis(),"Allerheiligen"));
return dates;
}
Mein Problem ist bei der Ausgabe des Neujahr, wieso funktioniert dieser nicht. Ist etwas an der Berechnung falsch? Google hat auch nichts gebracht....Vielen Dank im vorraus.
Zuletzt bearbeitet von einem Moderator: