週番号に基づいて日付を計算します
多くのプログラミング タスクでは、指定された週番号に基づいて対応する日付を計算する必要があります。 C# では、これは ISO 8601 標準を使用して実現できます。
ISO 8601 標準は、月曜日ではなく、毎年第 1 木曜日に第 1 週を開始します。この規則を利用して、次のコードは、指定された年の特定の週の最初の日を正確に決定します。
<code class="language-csharp">public static DateTime FirstDateOfWeekISO8601(int year, int weekOfYear) { DateTime jan1 = new DateTime(year, 1, 1); int daysOffset = DayOfWeek.Thursday - jan1.DayOfWeek; DateTime firstThursday = jan1.AddDays(daysOffset); var cal = CultureInfo.CurrentCulture.Calendar; int firstWeek = cal.GetWeekOfYear(firstThursday, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday); var weekNum = weekOfYear; if (firstWeek == 1) { weekNum -= 1; } var result = firstThursday.AddDays(weekNum * 7); return result.AddDays(-3); }</code>
以上がISO 8601 を使用して C# で週番号から日付を計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。