迭代后不存储日期
Date not storing after iteration
我有一个迭代运行一定次数,具体取决于另一个值,该值可能会有所不同,这就是为什么我使用基于该值进行迭代的迭代,在该迭代中我将日期添加 30 天每次迭代一次,然后将结果添加到 table.
问题
我只是以添加 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++;
}
终于找到问题所在了。没有什么。我的室友对我开了个恶作剧,刚出城回来,向我解释了他如何更改我的 getDateDue
以执行 plusDays(30)
来模仿我的代码,这样当我调用 AddPayment
调用 getDateDue
它看起来会起作用,但实际上无论我做什么,它只会向 startdate
添加 30 天一次。
总结
室友是个混蛋,我的代码没问题。抱歉这个毫无意义 post.
我有一个迭代运行一定次数,具体取决于另一个值,该值可能会有所不同,这就是为什么我使用基于该值进行迭代的迭代,在该迭代中我将日期添加 30 天每次迭代一次,然后将结果添加到 table.
问题
我只是以添加 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++;
}
终于找到问题所在了。没有什么。我的室友对我开了个恶作剧,刚出城回来,向我解释了他如何更改我的 getDateDue
以执行 plusDays(30)
来模仿我的代码,这样当我调用 AddPayment
调用 getDateDue
它看起来会起作用,但实际上无论我做什么,它只会向 startdate
添加 30 天一次。
总结
室友是个混蛋,我的代码没问题。抱歉这个毫无意义 post.