8

我有两个日期:

DateTime fromDate = new DateTime(2013,7,27,12,0,0);
DateTime toDate = new DateTime(2013,7,30,12,0,0);

我想通过增加 fromDate 一天从 fromDate 迭代到 toDate,当 fromDate 等于或大于 toDate 时,循环应该中断。我试过这个:

while(fromDate < toDate)
{
fromDate.AddDays(1);
}

但这是一个无限循环,不会停止。我怎样才能做到这一点 ?

4

2 回答 2

12

未经测试但应该可以工作:

for(DateTime date = fromDate; date < toDate; date = date.AddDays(1)) {
}

<=如果您也想包含,请修改比较toDate

于 2013-07-27T12:13:59.923 回答
6

DateTime.AddDays确实将指定的天数添加到日期 - 但结果日期作为 DateTime返回;原始DateTime值没有改变。

因此,请确保将操作的结果分配回您在循环条件中检查的变量:

while (fromDate < toDate)
{
    fromDate = fromDate.AddDays(1);
}
于 2013-07-27T12:16:21.227 回答