我希望在一年内通过,并获得代表第一周的第一个星期一的约会
所以:
Jac*_*ope 11
试试这个没有循环的解决方案:
public DateTime FirstMonday(int year)
{
DateTime firstDay = new DateTime(year, 1, 1);
return new DateTime(year, 1, (8 - (int)firstDay.DayOfWeek) % 7 + 1);
}
Run Code Online (Sandbox Code Playgroud)
private DateTime GetFirstMondayOfYear(int year)
{
DateTime dt = new DateTime(year, 1, 1);
while (dt.DayOfWeek != DayOfWeek.Monday)
{
dt = dt.AddDays(1);
}
return dt;
}
Run Code Online (Sandbox Code Playgroud)