simple datumsbrechnung?
-
hallo
ich hab ein problem den ersten tag eines monats (also 0 für SO, 1 für Mo, ... 6 für SA) zu brechnen. (abhängig von dem tag an der die woche startet (firstDayOfWeek)) Ich habe das im moment so:
bsp 23 Mai 2004:
int firstDay, firstDayOfWeek, currentDayOfWeek, currentDayOfMonth;
firstDayOfWeek = 0; /* also sonntag */
currentDayOfWeek = 0; /*auch sonntag*/
currentDayOfMonth = 23;firstDay = (currentDayOfWeek - (currentDayOfMonth % 7) + 1 - firstDayOfWeek) % 7;
rauskommen sollte eigentlich 6.
was stimmt daran nicht? thx!
-
"%" hat Probleme mit negativen Zahlen.
Probier mal:
firstDay = (currentDayOfWeek - (currentDayOfMonth % 7) + 8 - firstDayOfWeek) % 7;
-
super! das wars echt, danke dir. (wieso jetzt 8?)