什么是计算一年中第一周的星期一的最简单方法
我想通过一年,并得到一个代表第一周的第一个星期一的约会
所以:
- 如果2011年通过,我会在2011年 1月3日回来
- 如果在2010年通过,我会在2010年 1月4日回来
private DateTime GetFirstMondayOfYear(int year) { DateTime dt = new DateTime(year, 1, 1); while (dt.DayOfWeek != DayOfWeek.Monday) { dt = dt.AddDays(1); } return dt; }
试试这个没有循环的解决方案:
public DateTime FirstMonday(int year) { DateTime firstDay = new DateTime(year, 1, 1); return new DateTime(year, 1, (8 - (int)firstDay.DayOfWeek) % 7 + 1); }