1 年間の週数をカウントする関数を作成しましたが、問題なく動作します。問題は、月曜日の曜日を取得する方法が必要なことです。スウェーデンのカレンダーです。
以下のコードは、52 週の年にはうまく機能しますが、53 週の年 (2009 など) もあります。それから、月曜日の日付として1月から日付を取得しました(正しくない)。ですから、それがすべての年で機能するように私を助けてください。
私がおそらくできることは、その年が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;
}