如何在c#中找到一个月的最后一天?

例如,如果我有日期03/08/1980,我如何得到第8个月的最后一天(在本例中是31)?


当前回答

我不懂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;
}

我只想在每个月的最后一天发射代码,就是这么简单……

if (DateTime.UtcNow.AddDays(1).Day != 1)
{
    // Tomorrow is not the first...
    return;
}

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

这将显示下个月的最后日期。可以从AddMonths(x)中添加或减去想要返回的月份。

DateTime.Now.AddMonths(2).AddDays(-DateTime.Now.Day)

我不懂c#,但是,如果没有一个方便的API方法来获得它,其中一种方法是遵循以下逻辑:

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

当然,前提是你有这种类型的约会数学。