Я сделал функцию для подсчета недель в году, и это прекрасно работает. Проблема в том, что мне нужен метод, чтобы получить дату недели. Это шведский календарь.
Приведенный ниже код хорошо работает для лет, в которых 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;
}