Sprache: C#
ermittelt die Anzahl der Wochentage zwischen zwei Daten
private int CountWeekdays(DateTime startTime, DateTime endTime)
{
TimeSpan timeSpan = endTime - startTime;
DateTime dateTime;
int weekdays = 0;
for (int i = 0; i < timeSpan.Days; i++)
{
dateTime = startTime.AddDays(i);
if (IsWeekDay(dateTime))
weekdays++;
}
return weekdays;
}
private bool IsWeekDay(DateTime dateTime)
{
return ((dateTime.DayOfWeek != DayOfWeek.Saturday) && (dateTime.DayOfWeek != DayOfWeek.Sunday)
}
private int CountWeekdays(DateTime startTime, DateTime endTime)
{
TimeSpan timeSpan = endTime - startTime;
DateTime dateTime;
int weekdays = 0;
for (int i = 0; i < timeSpan.Days; i++)
{
dateTime = startTime.AddDays(i);
if (IsWeekDay(dateTime))
weekdays++;
}
return weekdays;
}
private bool IsWeekDay(DateTime dateTime)
{
return ((dateTime.DayOfWeek != DayOfWeek.Saturday) && (dateTime.DayOfWeek != DayOfWeek.Sunday)
}
Alte URL:
/snippet/anzahl-der-wochentage-zwischen-zwei-daten-ermitteln/517
Die Methode IsWeekDay enthält einen Bug. Statt OR muß AND verwendet werden. Korrekt wäre:
[code]
return ((dateTime.DayOfWeek != DayOfWeek.Saturday) &&
(dateTime.DayOfWeek != DayOfWeek.Sunday));
[/code]
Grüße,
Michael
Stimmt, ich habe das verbessert. Ich hoffe das der unbekannte Autor nichts dagegen hat.