ISO 8601 週番号に基づいて週の最初の日を決定する
この改良されたアルゴリズムは、指定された ISO 8601 週番号と年の開始日 (月曜日) を計算します。 以前のアプローチには、特に第 53 週のような特殊なケースで矛盾がありました。このソリューションは、ISO 8601 標準の週の定義 (月曜日から始まり、木曜日を含む最初の週) を利用します。
このプロセスは、指定した年の初日 (1 月 1 日) を設定することから始まります。 次に、最も近い木曜日に到達するように曜日オフセットが計算されます。 ISO 8601 によれば、今週木曜日は年の最初の週に当たるため、非常に重要です。
次に、アルゴリズムは年の最初の木曜日を決定し、ISO 8601 ルールに基づいて最初の週を特定します。 指定された週番号は、この木曜日ベースの週番号を考慮して調整されます。
最後に、最初の木曜日に正しい日数を追加して、ターゲット週の最初の日に到着します。 ISO 8601 に厳密に準拠するため、この日付から 3 日が減算され、週の始まりとなる月曜日が求められます。
以上がISO 8601 標準を使用して、特定の週番号の開始日を正確に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。