9 Stimmen

Wie berechne ich die Anzahl der Tage, abzüglich der Sonntage, zwischen zwei Daten in C#?

Ich bin dabei, ein Bibliotheksverwaltungssystem zu erstellen.

Ich habe den Zeitstempel verwendet, um die Datumsdifferenz zu berechnen, und mit Hilfe der Datumsdifferenz berechne ich auch das Fine.

Diese Datumsdifferenz umfasst nun alle Tage einer Woche. Bei einer Bibliotheksanwendung sollte die Geldstrafe jedoch nur für 6 Tage (Mo - Sa) in der Woche berechnet werden.

Ich bin nicht in der Lage, dies zu tun.

Kann mir jemand bei der Durchführung dieser Aufgabe helfen?

Vielen Dank im Voraus!!

-2voto

Jacob Proffitt Punkte 12454

Mein Linqy-Ansatz (der den Vorteil hat, dass er einfacher zu lesen ist, aber einen kleinen Leistungseinbruch bei der Erstellung einer Liste von Strukturtypen mit sich bringt):

private int DaysLate(DateTime dateDue, DateTime dateReturned)
{
    return getDayList(dateDue, dateReturned).Where(d => d.DayOfWeek != DayOfWeek.Sunday).Count();
}

private List<DateTime> getDayList(DateTime begin, DateTime end)
{
    List<DateTime> dates = new List<DateTime>();
    DateTime counter = begin;
    while (counter <= end)
    {
        dates.Add(counter);
        counter = counter.AddDays(1);
    }
    return dates;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X