我有两个 DateTime
,我想获取这些日期之间的所有 DateTime
。例如,如果我的日期是 01.01.2010 - 05.01.2010,我的函数应该返回一个日期列表 (List),它必须包含 01.01.2010、02.01.2010、03.01.2010、04.01.2010 和2010 年 1 月 5 日。
我写了一个这样的函数。它工作正常,如果我的约会是在一个月内。如果我的日期是 01.01.2010 - 05.02.2010,它就不会工作。因为月份改变了,我的功能无法处理。 C# 中是否有一个函数可以返回两个日期之间的所有日期?或者我该如何处理月份变更?
public void GetAllDatesAndInitializeTickets(DateTime startingDate, DateTime endingDate)
{
List<DateTime> allDates = new List<DateTime>();
int starting = startingDate.Day;
int ending = endingDate.Day;
for (int i = starting; i <= ending; i++)
{
allDates.Add(new DateTime(startingDate.Year, startingDate.Month, i));
}
问题已解决,请参阅 Tim Robinson 的简单答案。
最佳答案
您可以在循环中直接使用 DateTime
对象,代替您的 int
。 DateTime.AddDays
正确处理月末。
for (DateTime date = startingDate; date <= endingDate; date = date.AddDays(1))
allDates.Add(date);
关于c# - 在 C# 中获取两个 'DateTime' 之间的所有 DateTimes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3227927/