我做了一个函数来计算一年中的几周,而且效果很好。问题是我需要一种方法来获取一周中的星期一。这是瑞典日历。
下面的代码适用于有 52 周的年份,但有些年份(如 2009 年)有 53 周。然后我从一月得到一个日期作为星期一日期(不可能是正确的)。所以请帮助我让它工作多年。
我可能可以做的是检查一年是否有 53 周,然后做一些检查,但我希望它在没有特殊检查的情况下顺利进行。
这是我想出的:
public static DateTime GetDateFromWeek(int year, int week)
{
//First day of the year
DateTime d = new DateTime(year, 1, 1);
GregorianCalendar calendar = new GregorianCalendar(GregorianCalendarTypes.MiddleEastFrench);
d = calendar.AddWeeks(d, week);
d = d.AddDays(1 - (double)d.DayOfWeek);
return d;
}