1

以下の疑似コードが週番号として 2 を返すのはなぜですか? 1でいいんじゃない?

string x = cal.GetWeekOfYear(02.01.2012 as datetime, cultureInfo.currentculture.DateTimeFormat.CalendarWeekRule, CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek).toString();
4

1 に答える 1

6

現在のカルチャのCalendarWeekRuleFirstDayはであり、次のように定義されています (私の強調):

年の最初の週が年の最初の日に始まり、次の指定された週の最初の曜日の前に終わることを示します。

また、週の最初の日は月曜日だと言います。

2012 年 1 月 1 日は日曜日で、最初の週はその日から始まります。週の最初の日は月曜日なので、最初の週は次の月曜日の前、つまり日曜日に終了します。

したがって、2012 年 1 月 2 日は実際に、あなたのカルチャの設定では第 2 週の最初の日です。

于 2012-09-24T08:10:42.283 に答える