linq またはラムダ式を使用して、開始日と終了日の間の日付のリストを取得するにはどうすればよいですか。
DateTime StartDate = DateTime.Now;
DateTime EndDate = DateTime.Now.AddMonths(13);
List<DateTime> ListofDates = //Contains list of all dates only between start and end date.
Enumerable.Range(0, (EndDate - StartDate).Days).Select(i => StartDate.AddDays(i))
まず第一に、あなたがしたいのDates
ではなく、ただの代わりにDatetimes
使ったほうがいいDateTime.Now.Date
DateTime.Now
必要な日付のリストを取得できるように、SLaks コードを編集しました。
DateTime StartDate = DateTime.Now.Date;
DateTime EndDate = DateTime.Now.Date.AddMonths(13);
IEnumerable<double> daysToAdd = Enumerable.Range(0,
(EndDate - StartDate).Days + 1)
.ToList().ConvertAll(d => (double)d);
IEnumerable<DateTime> ListOfDates = daysToAdd.Select(StartDate.AddDays).ToList();
列挙型に追加したので、と日付+1
の両方を使用できることに注意してください(指定しませんでした)。start
end
List<DateTime> ListofDates = Enumerable.Range(0, (EndDate - StartDate).Days)
.Select(i => StartDate.AddDays(i))
.ToList();