使用一系列日期时间填充List的简单方法

Gui*_*tos 3 .net c# datetime

我试图找到一种简单的方法来解决这个问题.

我有一个初始日期和一个最终日期.

我想List<Datetime>在给定时期内生成每个日期.


示例:初始日期为"2013/12/01",最终日期为"2013/12/05".

我想自动填充列表

"2013/12/01"
"2013/12/02"
"2013/12/03"
"2013/12/04"
"2013/12/05"
Run Code Online (Sandbox Code Playgroud)

你会建议我什么?

谢谢

Mar*_*zek 11

var startDate = new DateTime(2013, 12, 1);
var endDate = new DateTime(2013, 12, 5);

var dates = Enumerable.Range(0, (int)(endDate - startDate).TotalDays + 1)
                      .Select(x => startDate.AddDays(x))
                      .ToList();
Run Code Online (Sandbox Code Playgroud)


And*_*i V 6

for(var day = from.Date; day.Date <= end.Date; day = day.AddDays(1))
{
     list.Add(day);
}
Run Code Online (Sandbox Code Playgroud)


Ser*_*kiy 6

DateTime startDate = new DateTime(2013, 12, 1); // or any other start date
int numberOfDays = 5;
var dates  = Enumerable.Range(0, numberOfDays)
                       .Select(i => startDate.AddDays(i))
                       .ToList();
Run Code Online (Sandbox Code Playgroud)