计算一年中第一周星期一的最简单方法是什么

|| 我想过去一年并获得代表第一周的第一个星期一的日期 所以: 如果在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);
}
    

要回复问题请先登录注册