3

私が取り組んでいるシステムでは、標準の週番号と同じように機能する「週番号」が必要です。7 ではなく 14 日ごとに繰り越されます。

つまり、コードではなく、日付から週番号を計算するためのアルゴリズムと、年と週番号が指定された開始日/終了日を探しています。

問題は、どの年の第 1 週も一般的に 1 月 1 日ではなく、前の 12 月でさえあるという事実から来ています。このため、53週になる年もあります。

例えば:

  • 第 1 週 2009 年は2008 年-12-29に始まりました
  • したがって、2009 年には 2009 年 12 月 28 日から 2010 年 1 月 3 日までの第 53 週がありました
  • 2010 年第 1 週は 2010 年 1 月 4 日に始まりました

これらの数値はどのように導出されますか?

4

1 に答える 1

2

これらの数値はどのように導出されますか?

まあ、それはあなたが使用しているシステムに依存しますが、次のように定義されている ISO-8601 週番号の後だと思います:

2.2.10 暦週番号

年の最初の暦週はその年の最初の木曜日を含む週であり、暦年の最後の暦週はその年の直前の週であるという規則に従って、その暦年内の暦週を識別する序数。翌暦年の最初の暦週

ISO-8601 の 1 週間は月曜日に開始し、日曜日に終了することに注意してください。したがって、「最初の木曜日」の規則を別の方法で表現すると、年の最初の週は、新年の少なくとも 4 日を含む最初の週になります。 .

もう1つの重要なポイントは、「週の週の年」を使用して値を表現する場合、通常の年ではなく「週の年」自体も使用する必要があることです. したがって、2010 年 1 月 3 日の日曜日は、「2009 年第 53 週、曜日 - 日曜日」と表すことができます。「間違ったタイプの年」を使用して、12 月末から 1 月初めにかけて値を台無しにしてしまうのはあまりにも簡単です。

于 2013-03-11T14:00:04.837 に答える