Come ottengo l’ultimo giorno del mese?

Come posso trovare l’ultimo giorno del mese in C #?

Ad esempio, se ho la data 03/08/1980, come ottengo l’ultimo giorno del mese 8 (in questo caso 31)?

L’ultimo giorno del mese si ottiene così, che restituisce 31:

DateTime.DaysInMonth(1980, 08); 
 var lastDayOfMonth = DateTime.DaysInMonth(date.Year, date.Month); 
 DateTime firstOfNextMonth = new DateTime(date.Year, date.Month, 1).AddMonths(1); DateTime lastOfThisMonth = firstOfNextMonth.AddDays(-1); 

Se vuoi la data , data un mese e un anno, questo sembra giusto:

 public static DateTime GetLastDayOfMonth(this DateTime dateTime) { return new DateTime(dateTime.Year, dateTime.Month, DateTime.DaysInMonth(dateTime.Year, dateTime.Month)); } 

Sottrai un giorno dal primo del prossimo mese:

 DateTime lastDay = new DateTime(MyDate.Year,MyDate.Month+1,1).AddDays(-1); 

Inoltre, nel caso in cui ne hai bisogno per lavorare anche a dicembre:

 DateTime lastDay = new DateTime(MyDate.Year,MyDate.Month,1).AddMonths(1).AddDays(-1); 

Puoi trovare l’ultimo giorno del mese con una singola riga di codice:

 int maxdt = (new DateTime(dtfrom.Year, dtfrom.Month, 1).AddMonths(1).AddDays(-1)).Day; 

Puoi trovare l’ultima data di ogni mese con questo codice:

 var now = DateTime.Now; var startOfMonth = new DateTime(now.Year, now.Month, 1); var DaysInMonth = DateTime.DaysInMonth(now.Year, now.Month); var lastDay = new DateTime(now.Year, now.Month, DaysInMonth); 

Da DateTimePicker:

Primo appuntamento:

 DateTime first_date = new DateTime(DateTimePicker.Value.Year, DateTimePicker.Value.Month, 1); 

Ultimo appuntamento:

 DateTime last_date = new DateTime(DateTimePicker.Value.Year, DateTimePicker.Value.Month, DateTime.DaysInMonth(DateTimePicker.Value.Year, DateTimePicker.Value.Month)); 

Non conosco C # ma, se si scopre che non esiste un comodo metodo API per ottenerlo, uno dei modi in cui puoi farlo è seguire la logica:

 today -> +1 month -> set day of month to 1 -> -1 day 

Ovviamente, questo presuppone che tu abbia una matematica data di quel tipo.

Per ottenere l’ultimo giorno del mese in un calendario specifico e in un metodo di estensione:

 public static int DaysInMonthBy(this DateTime src, Calendar calendar) { var year = calendar.GetYear(src); // year of src in your calendar var month = calendar.GetMonth(src); // month of src in your calendar var lastDay = calendar.GetDaysInMonth(year, month); // days in month means last day of that month in your calendar return lastDay; }