我有两个日期:
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);
}
但这是一个无限循环,不会停止。我怎么能这样做?
答案 0 :(得分:7)
未经测试但应该有效:
for(DateTime date = fromDate; date < toDate; date = date.AddDays(1)) {
}
如果您还要包含<=
,请将比较修改为toDate
。
答案 1 :(得分:4)
DateTime.AddDays
确实会将指定的天数添加到日期中 - 但结果日期以新 DateTime
值的形式返回;原始DateTime
值未更改。
因此,请确保将操作的结果分配回您在循环条件中检查的变量:
while (fromDate < toDate)
{
fromDate = fromDate.AddDays(1);
}