0

重複の可能性:
週番号から日付を計算

週番号があり、今週の最初と最後の日を返す関数を作成しようとしています。

たとえば、第 29 週の初日は 2012-07-16 になり、最終日は 2012-07-22 になります。

4

1 に答える 1

2

これはどう:

int year = 2012;
int weekNumber = 29;

var thursdayInWeek01 = Enumerable.Range(1, 7).Select(i => new DateTime(year, 1, i))
  .First(d => d.DayOfWeek == DayOfWeek.Thursday);
var thursdayInCorrectWeek = thursdayInWeek01.AddDays((weekNumber - 1) * 7);

var firstDay = thursdayInCorrectWeek.AddDays(-3);
var lastDay = thursdayInCorrectWeek.AddDays(3);

これは ISO スタイルの週番号です。

于 2012-08-09T16:17:56.800 に答える