RBA285
Hi Forengemeinde,
wer einen Kalenderrechner für die Berechnung von tatsächlichen
Arbeitstagen benötigt, soll sich die Klasse in der Anlage ansehen.
Berücksichtigt werden Wochenenden und Feiertage (alle Bundesländer).
Zudem lassen sich betriebliche "Feiertage" wie z.B. Rosenmontag flexibel
hinzufügen und entfernen.
So funktionierts:
Wird das Bundesland-Enum im Konstruktor weggelassen, ziehen automatisch
die bundeseinheitlichen Feiertage.
Möchte man "Feiertage" hinzufügen, geht das z.B. einfach über:
Und wieder weg:
Die für das jeweilige Bundesland einheitlichen Feiertage sind immer
richtig vorbelegt! Gibt es Feiertage die innerhlb des Bundeslands nicht
einheitlich sind, müssen diese mit der Add-Methode hinzugefügt werden.
Das gleiche gilt für evtl. betriebliche Feiertage wir Rosenmontag usw.
Wenn Samstage als Arbeitstage zählen:
Für Sonntage sinngemäß.
Beispiel-Berechnung der tatsächlichen Arbeitstage zwischen zwei Datumswerten:
Datum 1 = Beginndatum
Datum 2 = Endedatum
Zurückgegeben werden nur die tatsächlichen Arbeitstage unter Berücksichtigung
von Feiertagen und Wochenenden.
Weitere Member und Methoden:
Liste (Enum) der bisher implementierten, möglichen Feiertage:
Für konstruktives Feedback bin ich wie immer dankbar.
Robin
EDIT: Weiter unten gibt es eine aktuellere Version.
wer einen Kalenderrechner für die Berechnung von tatsächlichen
Arbeitstagen benötigt, soll sich die Klasse in der Anlage ansehen.
Berücksichtigt werden Wochenenden und Feiertage (alle Bundesländer).
Zudem lassen sich betriebliche "Feiertage" wie z.B. Rosenmontag flexibel
hinzufügen und entfernen.
So funktionierts:
C#-Code: |
KalenderRechner meinKalender = new KalenderRechner( KalenderRechner.BundesLänder.Bayern );
|
Wird das Bundesland-Enum im Konstruktor weggelassen, ziehen automatisch
die bundeseinheitlichen Feiertage.
Möchte man "Feiertage" hinzufügen, geht das z.B. einfach über:
C#-Code: |
meinKalender.AddFeiertag(KalenderRechner.Feiertage.AugsburgerFriedensfest);
|
Und wieder weg:
C#-Code: |
meinKalender.RemoveFeiertag(KalenderRechner.Feiertage.AugsburgerFriedensfest);
|
Die für das jeweilige Bundesland einheitlichen Feiertage sind immer
richtig vorbelegt! Gibt es Feiertage die innerhlb des Bundeslands nicht
einheitlich sind, müssen diese mit der Add-Methode hinzugefügt werden.
Das gleiche gilt für evtl. betriebliche Feiertage wir Rosenmontag usw.
Wenn Samstage als Arbeitstage zählen:
C#-Code: |
meinKalender.SamstagIstArbeitstag = true;
|
Für Sonntage sinngemäß.
Beispiel-Berechnung der tatsächlichen Arbeitstage zwischen zwei Datumswerten:
C#-Code: |
uint tage = meinKalender.GetArbeitstage(new DateTime(2009, 12, 6), new DateTime( 2010, 11, 10));
|
Datum 1 = Beginndatum
Datum 2 = Endedatum
Zurückgegeben werden nur die tatsächlichen Arbeitstage unter Berücksichtigung
von Feiertagen und Wochenenden.
Weitere Member und Methoden:
C#-Code: |
public bool IsFeiertag(DateTime dtDate)
|
Liste (Enum) der bisher implementierten, möglichen Feiertage:
C#-Code: |
Neujahr,
|
Für konstruktives Feedback bin ich wie immer dankbar.
Robin
EDIT: Weiter unten gibt es eine aktuellere Version.
