我是使用DateTime的新手,但我想知道它是否能够将两点之间的每一天动态添加到列表中。

例如,我的代码如下所示:

{
  startTime = new DateTime(startYear, startMonth, startDay);
  endTime = new DateTime(endYear, endMonth, endDay);
  TimeSpan elapsed = endTime.Subtract(startTime);
  startString = startDay.ToString();
  elapsedString = elapsed.TotalDays.ToString();
}


通过此操作,我可以返回两点之间的总天数。但是,elapsed.TotalDays.ToString();仅返回两点之间的总天数。我想知道的是,是否有可能每天回到两点之间并将其放入列表中?

最佳答案

试试看,它应该可以工作:

int totalDays = endTime.Subtract(startTime).TotalDays as int;
List<DateTime> dates = new List<DateTime>(totalDays + 1); // using this constructor will make filling in the list more performant

dates.Add(startTime); // since you mentionned start and end should be included

for (var i = 1; i < totalDays; i++)
{
    dates.Add(startTime.AddDays(i));
}

dates.Add(endTime);

07-24 22:15