查找从开始日期到年底的每个星期五

Mic*_*son 2 c# datetime

所以我又回到了另一个令人困惑的DateTime问题.

在C#中,如何从开始日期(DateTime.Now)到当年年底每周五返回(日)?

因此,例如,今天是19日星期五,它将返回,26,2,9,16,23,30,7等.

Amy*_*Amy 8

这有用吗?

static IEnumerable<DateTime> GetFridays(DateTime startdate, DateTime enddate)
{
    // step forward to the first friday
    while (startdate.DayOfWeek != DayOfWeek.Friday)
        startdate = startdate.AddDays(1);

    while (startdate < enddate)
    {
        yield return startdate;
        startdate = startdate.AddDays(7);
    }
}
Run Code Online (Sandbox Code Playgroud)