我有一个运行一定次数的迭代,这取决于另一个可能变化的值,这就是我使用基于该值迭代的迭代的原因,在该迭代中我每天添加30天一次迭代然后将结果添加到表中。
问题
我最终只是在迭代本身之外添加了30天的第一个实例。这意味着我在迭代中的值没有正确存储,但我不明白为什么。
我检查了DateTime操作并显示了newdate
的值,它显示了正确的日期,因此最有可能存储日期。但是我不知道出了什么问题,它在迭代前工作,这让我很困惑。为什么不在迭代中执行?有没有人有任何想法?
实施例。
InitialDate | 3/29/2015
2ndDate | 4/28/2015<-- This is what's stored which is pre-iteration
3rdDate | 5/28/2015<-- This is what it's supposed to be after the iteration
so on and so forth....
预迭代值
//Date stuff
String startdate = (String.valueOf(Acc._date));
DateTimeFormatter formatter = DateTimeFormat.forPattern("MM-dd-yyyy HH:mm:ss");
DateTime dt = formatter.parseDateTime(startdate);
DateTime startpoint = new DateTime(dt);
DateTime whendue = startpoint.plusDays(30);
DateTime foriteration = whendue;
String formattedDate = whendue.toString(formatter);
//Storing initial date
pay.setDateDue(formattedDate);
db.AddPayment(pay);
实际迭代
while (i < j) {
//Operation for Date Calculation
DateTime ndt = foriteration.plusDays(30);
foriteration = ndt;
String newdate = ndt.toString(formatter);
//Adding values to PayTable
pay.setDateDue(newdate);
db.AddPayment(pay);
i++;
}
答案 0 :(得分:0)
终于找出了什么问题。没有。我的室友对我玩了一个恶作剧,刚回到城外旅行,并向我解释他是如何改变getDateDue
来执行plusDays(30)
以模仿我的代码,以便在我打电话时{{1调用AddPayment
它会看起来会起作用,但实际上只要在getDateDue
上添加30天,无论我做什么。
<强>摘要强>
室友是一个屁股,我的代码没有任何问题。对于这个毫无意义的帖子感到抱歉。