David: Verständnisproblem bei Code

Beitrag lesen

Hallo,

ich habe folgenden Codeausschnitt von einem Freund von mir. Gegen Ende wird berechnet, wie viele Wochen der aktuelle Monat hat, aber ich verstehe absolut nciht, wie er darauf kommt und fragen kann ich ihn nicht, weil er im Urlaub ist. Kann mir hier vielleicht jemand helfen? Das Verständnisproblem setzt bei Berechnung von numrows an. Das ganze soll hinterher einen Kalender ergeben, aber hier erstmal der kleine Code-Schnipsel:

// -- Wochen --
 if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
 {
  numdays = 31;
 }
 else if (month == 4 || month == 6 || month == 9 || month == 11)
 {
  numdays = 30;
 }
 else if (month == 2 && year % 4 == 0 && year % 100 != 0)
 {
  numdays = 29;
 }
 else
 {
  numdays = 28;
 }
 day = date.getDay();
 numrows = 1;
 if (day != 0)
 {
  numrows += Math.ceil((numdays - 8 + day) / 7);
 }
 else if (day == 0)
 {
  numrows += Math.ceil((numdays - 1) / 7);
 }

Wisst ihr vielleicht, wie der Code mit "ceil" usw. zu verstehen ist?

Liebe Grüße,
David