查找给定周数的第一个和最后一个日期

时间:2012-08-09 15:49:29

标签: c# wpf

  

可能重复:
  Calculate date from week number

我有一个星期编号,我正在尝试创建函数来返回本周的第一天和最后一天。

第29周的第一天的考试将是2012-07-16,最后一次是2012-07-22。

1 个答案:

答案 0 :(得分: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风格的周数。