任何人都可以告诉我以下代码有什么问题吗?它增加了14天到对象就好了但是当它增加14天到2月17日它应该出现在今年的2012年3月2日,但我得到的是2012年2月31日.我试过添加2周,单日在一个for循环中,一切都会回到同一个日期.我花了两天时间搜索谷歌并尽可能多地阅读,但没有运气.希望有人在这里可以看到我失踪的东西.
while(calNextPaymentDate.before(calEnd))
{
Dates.add(date);
calNextPaymentDate.add(Calendar.DAY_OF_MONTH, 14);
date = (GregorianCalendar) calNextPaymentDate.clone();
}
Run Code Online (Sandbox Code Playgroud)
在calNextPaymentDate和calEnd有GregorianCalendar对象,我已经做了的痕迹,以确保日期将被填充的罚款.它正确地添加了14天的日期,但正如我所说,我不应该得到2012年2月31日的数据.
我的猜测是,实际上你已经将月份设置为2,所以你看的是3月而不是2月.
尝试打印出日期 - 我非常怀疑它将在2月31日显示.
不要忘记java.util.Calendar选择使用0个月,所以2月你想要1个月.
| 归档时间: |
|
| 查看次数: |
178 次 |
| 最近记录: |