/ / Müssen den letzten Tag des vorherigen Monats und vor dem vorherigen Monat finden - c #

Müssen den letzten Tag des vorherigen Monats und vor dem vorherigen Monat finden - c #

Ich muss das letzte Datum des letzten Monats (Nov) und einen Monat davor (Okt) finden.
Ich habe den folgenden Code verwendet:

DateTime today = DateTime.Today;
DateTime endOfLastMonth = new DateTime(today.Year, today.Month - 1, 1).AddMonths(1).AddDays(-1);
DateTime endOfLastLastMonth = new DateTime(today.Year, today.Month - 2, 1).AddMonths(1).AddDays(-1);

Der Code funktioniert gut für heute, aber im Monat Januar schlägt der Code fehl, weil er Monatsteil als 0 und -1 liefert.

Bitte lassen Sie mich wissen, wie das geht.
Für den Monat Januar sollte es 31. Dezember und 30. November sagen.

Antworten:

18 für die Antwort № 1

Die einfachste Möglichkeit, den letzten Tag des vorherigen Monats zu finden, besteht darin, einfach den zuerst Tag des aktuellen Monats (der immer gültig sein wird) und dann einen Tag subtrahieren. Machen Sie dasselbe für den vorherigen Monat.

DateTime startOfMonth = new DateTime(today.Year, today.Month, 1);
DateTime endOfPreviousMonth = startOfMonth.AddDays(-1);
DateTime endOfPreviousPreviousMonth = startOfMonth.AddMonths(-1).AddDays(-1);