ホームページ >バックエンド開発 >C++ >C# で年と番号を指定して週の最初の日を確実に計算するにはどうすればよいですか?

C# で年と番号を指定して週の最初の日を確実に計算するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-14 13:01:43733ブラウズ

How Can I Reliably Calculate the First Day of a Week Given Its Year and Number in C#?

C# で年と週番号を指定して週の最初の日を決定する

頻繁に行われるプログラミングの課題には、年と週番号を指定して、週の最初の日の日付を計算することが含まれます。 これは月曜日が週の始まりであると考えているヨーロッパのユーザーにとって特に重要です。 正確な結果を得るには、堅牢なソリューションが不可欠です。

ISO 8601 を使用した信頼性の高い方法

最も信頼できるアプローチは ISO 8601 標準を活用します。月曜日から始まる方法とは異なり、ISO 8601 は年の最初の木曜日を基準として使用します。これにより、特に年の最初の週が前の暦年に当たる場合の不一致が解消されます。

次の C# コード スニペットはこれを示しています:

<code class="language-csharp">public static DateTime FirstDateOfWeekISO8601(int year, int weekOfYear)
{
    // ...
}</code>

この関数は 1 月 1 日から始まり、最も近い木曜日までの日付のオフセットを計算し、これを使用して年の最初の木曜日を正確に指定します。 次に、「FirstFourDayWeek」ルールを適用して最初の週を決定します。

以降の週は、最初の木曜日の日付に (週番号 * 7) 日を加算することによって計算されます。最後に、結果は 3 日を引いて月曜日に調整されます。

この方法は、さまざまなシナリオを正確に処理して、特定の年の週の最初の日を計算する信頼性の高い方法を提供します。

以上がC# で年と番号を指定して週の最初の日を確実に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。