首页 > 解决方案 > 本月最后一天

问题描述

我正在编写一个返回本月最后一个星期六的方法

    public static DateTime LastDayOfTheMOnth(DateTime Date)

我不知道如何开始,在java中很简单,但在c#中更难

标签: c#.netcalendar

解决方案


您可以在当天添加一个月,然后从那里倒退。取自这里
我已将其作为扩展方法,以便您可以从DateTime对象本身调用它。

public static DateTime LastThursday(this DateTime time)
{
    DateTime date = new DateTime(time.Year, time.Month, 1).AddMonths(1).AddDays(-1);
    while (date.DayOfWeek != DayOfWeek.Thursday) {
        date = date.AddDays(-1);
    }
    return date;
}

可以这样称呼

DateTime x = new DateTime(2019, 4, 22);
Console.WriteLine(x.LastThursday());

推荐阅读