0

Wochentage zählen

Hallo zusammen,

wie kann ich es anstellen, das ich ausgehend von einem Startdatum und Enddatum die anzahl der einzelnen Wochetage berechne. Beispiel: wieviele Montage zwischen dem 1.1. und dem 31.01.

Mit bestem Dank für eure Hilfe

Alex

3 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Alexander, der folgende Code wäre eine Möglichkeit, wobei in der ersten Zeile mit "let myWDay" der Wochentag festgelegt wird, der gezählt werden soll (0 = Montag bis 6 = Sonntag):

     

    let myWDay := 0;
    let myZ := 0;
    let myDatum := Startdatum;
    while myDatum <= Enddatum do
       let myWD := weekday(myDatum);
       myZ := if myWD = myWDay then myZ + 1 else myZ end;
       myDatum := myDatum + 1
    end;
    weekdayName(myWDay) + "e: " + text(myZ)

    • Firmeninhaber eines Dienstleistungsunternehmens (SHK)
    • Alexander_Prochnow
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Dankeschön Copytexter, funktioniert wie ich es mir vorgestellt habe. Jetzt muss ich das noch verstehen, dann komme ich da auch weiter.

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Das ist tatsächlich einfacher, als es vielleicht auf den ersten Blick aussieht:

     

    1: Der Variable myWDay wird der Wert des zu zählenden Wochentages zugewiesen (0 - 6).
    2: Die Zähler-Variable myZ bekommt den Startwert 0.
    3: Der Variable myDatum wird das Datum des Feldes 'Startdatum' zugewiesen.
    4: Beginn einer Schleife, die so lange ausgeführt wird, wie myDatum kleiner oder gleich dem Feld 'Enddatum' ist.
    5:     Der Variable myWD wird der Wert des Wochentages (0 - 6) von myDatum zugewiesen.
    6:     Wenn der Wochentag bei myWDay und myWD übereinstimmt, wird myZ um 1 hochgezählt.
    7:     Das Datum in myDatum wird um einen Tag hochgesetzt.
    8: Ende des Schleifen-Codes (wieder zu Zeile 4 oder weiter mit 9).
    9: Anzeige: Name des zu zählenden Wochentages plus Mehrzahl-"e" plus Anzahl aus myZ.