¿Cómo puedo obtener el último día de un mes?

¿Cómo puedo encontrar el último día del mes en C #?

Por ejemplo, si tengo la fecha 03/08/1980, ¿cómo obtengo el último día del mes 8 (en este caso 31)?

El último día del mes se obtiene así, que devuelve 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); 

Si desea la fecha , dado un mes y un año, esto parece correcto:

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

Restar un día desde el primero del mes siguiente:

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

Además, en caso de que necesite que funcione también en diciembre:

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

Puede encontrar el último día del mes con una sola línea de código:

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

Puede encontrar la última fecha de cualquier mes con este código:

 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); 

Desde DateTimePicker:

Primera fecha:

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

Ultima cita:

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

No sé C # pero, si resulta que no hay una forma conveniente de API para obtenerlo, una de las formas en que puede hacerlo es siguiendo la lógica:

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

Por supuesto, eso supone que tienes matemáticas de fecha de ese tipo.

Para obtener el último día de un mes en un calendario específico y en un método de extensión:

 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; }