0

"yyyy-mm-dd"この形式のタイムスタンプを整数の会計週に変換しようとしています。現在、私のアルゴリズムは4(k-1)+ floor(d / 7)+1です。ここで、kは整数の月、dは整数の月です。土曜日は新しい会計週を開始します。

これにはいくつかの欠陥があり、正しくありません。たとえば、2012年1月28日土曜日を考えてみましょう。

  • 私のアルゴリズムは5を計算します(これは正しいです)。

次に考えてみましょう。2月3日金曜日:

  • 私のアルゴリズムは5を計算します(これは正しいです)。

2月4日土曜日を考えてみましょう。

  • 私のアルゴリズムは5を計算します(これは正しくありません)。

私のアルゴリズムは常に数か月の間に失敗するため、エラーが増加するようです。

正しい会計週を計算するにはどうすればよいですか?

4

1 に答える 1

1

今月の初めまでに経過した日数を計算し、それをddに加算してから、7で除算します。最後に、結果の数値に1を加算します。

したがって、2月4日の場合、答えは(31 + 4)/ 7 + 1=6になります。

于 2012-09-25T16:45:27.273 に答える