brauche Hilfe. Ich muss regelmäßige Arbeitstage für einen bestimmten Zeitraum zählen, zum Beispiel in unserem Land, wir haben 5 reguläre Arbeitstage von Montag bis Freitag, dann muss ich im Code Samstage und Sonntage ausschließen, wenn ich sie auf meinen Berechnungen verwende.
Ich brauche einen ähnlichen Algorithmus in C #:
%Vor%Ich weiß, mein Entwurf ist weit weg :(. Vielen Dank im Voraus. =)
PS: Jungs, stimme bitte die beste / schnellste / effizienteste Antwort unten ab. Danke =)
Sehen Sie sich dieses Beispiel für Code Project an, das eine sehr effiziente Methode verwendet, bei der es keine gibt Schleifen;)
Es benutzt diesen Algorithmus:
- Berechnen Sie die Anzahl der Zeiträume in Wochen. Nennen Sie es, W.
- Ziehen Sie die erste Woche von der Anzahl der Wochen ab. W = W-1
- Multiplizieren Sie die Anzahl der Wochen mit der Anzahl der Arbeitstage pro Woche. Nennen Sie es, D.
- Ermitteln Sie die Feiertage während der angegebenen Zeitspanne. Nennen Sie es, H.
- Berechnen Sie die Tage in der ersten Woche. Nennen Sie es, SD.
- Berechnen Sie die Tage in der letzten Woche. Nennen Sie es, ED.
- Fassen Sie alle Tage zusammen. BD = D + SD + ED · H.
Sie könnten versuchen, die Tage einfach zu zählen. Wenn dies normalerweise für Zeiträume wie Monate und nicht Jahre gemacht wird und nicht wiederholt aufgerufen wird, wird dies kein Leistungseinbruch sein, um es einfach zu gehen.
%Vor%Sie könnten es mit einer Zeitlinien-Hilfsklasse machen - diese Klasse erlaubt auch andere Intervalle:
%Vor%Um Ihr Problem zu lösen, können Sie Folgendes tun:
%Vor%Diese Zeitlinienklasse kann für jede kontinuierliche Zeitlinie eines beliebigen Intervalls verwendet werden.