[英]Get list of dates from StartDate to EndDate
How can i get list of dates between start and end dates using linq or lambda expression. 如何使用linq或lambda表达式获取开始日期和结束日期之间的日期列表。
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))
First of all, when you want Dates
and not Datetimes
you better use DateTime.Now.Date
instead of just DateTime.Now
首先,当你想要
Dates
而不是Datetimes
,最好使用DateTime.Now.Date
而不仅仅是DateTime.Now
I've edited SLaks code so you can get the list of dates you want. 我编辑了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();
Note that I've added +1
in the enumerable so you can have both the start
and end
date (you didn't specify it) 请注意,我在枚举中添加了
+1
,因此您可以同时拥有start
日期和end
日期(您没有指定它)
List<DateTime> ListofDates = Enumerable.Range(0, (EndDate - StartDate).Days)
.Select(i => StartDate.AddDays(i))
.ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.