日付範囲を指定して、特定の曜日を引き出し、その日付を表示することは可能ですか?
それで、私の日付範囲が2012年8月17日から2012年9月17日までの場合、linqを使用して、たとえば木曜日と火曜日のすべてを引き出すことは可能ですか?
日付範囲を指定して、特定の曜日を引き出し、その日付を表示することは可能ですか?
それで、私の日付範囲が2012年8月17日から2012年9月17日までの場合、linqを使用して、たとえば木曜日と火曜日のすべてを引き出すことは可能ですか?
日付間の日数を決定してから、すべての日付を生成し、関心のある曜日でフィルタリングすることができます。
var start = DateTime.Parse("08/17/2012");
var end = DateTime.Parse("09/17/2012");
int numberOfDays = end.Subtract(start).Days + 1;
var daysOfWeek = new[] { DayOfWeek.Tuesday, DayOfWeek.Thursday };
var dates = Enumerable.Range(0, numberOfDays)
.Select(i => start.AddDays(i))
.Where(d => daysOfWeek.Contains(d.DayOfWeek));
var start = new DateTime(2012, 8, 17);
var end = new DateTime(2012, 9, 17);
var daysToChoose = new DayOfWeek[] { DayOfWeek.Thursday, DayOfWeek.Tuesday };
var dates = Enumerable.Range(0, (int)(end - start).TotalDays + 1)
.Select(d => start.AddDays(d))
.Where(d => daysToChoose.Contains(d.DayOfWeek));