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?)


Anmelden zum Antworten