10 ответов:
DateTime firstOfNextMonth = new DateTime(date.Year, date.Month, 1).AddMonths(1); DateTime lastOfThisMonth = firstOfNextMonth.AddDays(-1);
Если вы хотите дата, учитывая месяц и год, это выглядит примерно так:
public static DateTime GetLastDayOfMonth(this DateTime dateTime) { return new DateTime(dateTime.Year, dateTime.Month, DateTime.DaysInMonth(dateTime.Year, dateTime.Month)); }
вычесть день из первого числа следующего месяца:
DateTime lastDay = new DateTime(MyDate.Year,MyDate.Month+1,1).AddDays(-1);кроме того, в случае, если вам это нужно, чтобы работать на декабрь тоже:
DateTime lastDay = new DateTime(MyDate.Year,MyDate.Month,1).AddMonths(1).AddDays(-1);
вы можете найти последний день месяца с помощью одной строки кода:
int maxdt = (new DateTime(dtfrom.Year, dtfrom.Month, 1).AddMonths(1).AddDays(-1)).Day;
вы можете найти последнюю дату каждого месяца на этот код:
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);
С
DateTimePicker:первый день:
DateTime first_date = new DateTime(DateTimePicker.Value.Year, DateTimePicker.Value.Month, 1);дата последнего:
DateTime last_date = new DateTime(DateTimePicker.Value.Year, DateTimePicker.Value.Month, DateTime.DaysInMonth(DateTimePicker.Value.Year, DateTimePicker.Value.Month));
Я не знаю C#, но, если окажется, что нет удобного API-способа получить его, один из способов сделать это-следовать логике:
today -> +1 month -> set day of month to 1 -> -1 dayконечно, это предполагает, что у вас есть дата математика этого типа.
чтобы получить последний день месяца в определенном календаре - и в методе расширения -:
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; }
Comments