我遇到了一个问题,需要更多帮助。
下面是我的代码块 -
public Date addDays(Date date, int days)
{
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days); //minus number would decrement the days
return cal.getTime();
}
StartDate = "02/06/2016";
DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
for (int i=0; i < 90; i++) {
try{
rawStartDate = df.parse(StartDate);
formattedStartDate = df.format(rawStartDate);
String timeBookedForPerDay = startHour + ":" + startMin + ":" + startSlot + "-"
+ endHour + ":" + endMin + ":" + endSlot;
bookedFor.put(formattedStartDate, timeBookedForPerDay);
rawNextDate = addDays(rawStartDate, 1);
StartDate = df.format(rawNextDate);
}
catch ( Exception ex ){
}
}
现在我遇到的问题是,直到二月为止,添加一天迭代工作正常。但是,当月份发生变化时,它会在同一个月开始迭代。
此外,在日期中添加日期并没有考虑月份的天数,即 2 月 29 日和 3 月 31 日。
任何指示,什么可以是更好的方法。
输出是(稍微截断)-
***Start Date***03/01/2016
***Start Date***03/02/2016
***Start Date***03/03/2016
***Start Date***03/04/2016
***Start Date***03/05/2016
***Start Date***03/06/2016
***Start Date***03/07/2016
***Start Date***03/08/2016
***Start Date***03/09/2016
***Start Date***03/10/2016
***Start Date***03/11/2016
***Start Date***03/12/2016
***Start Date***03/13/2016
***Start Date***03/14/2016
***Start Date***03/15/2016
***Start Date***03/16/2016
***Start Date***03/17/2016
***Start Date***03/18/2016
***Start Date***03/19/2016
***Start Date***03/20/2016
***Start Date***03/21/2016
***Start Date***03/22/2016
***Start Date***03/23/2016
***Start Date***03/24/2016
***Start Date***03/25/2016
***Start Date***03/26/2016
***Start Date***03/27/2016
***Start Date***03/28/2016
***Start Date***03/29/2016
***Start Date***03/30/2016
***Start Date***03/31/2016
***Start Date***03/01/2016
***Start Date***03/02/2016
***Start Date***03/03/2016
***Start Date***03/04/2016
***Start Date***03/05/2016
***Start Date***03/06/2016
我可以引用任何建议或指示或任何重复的问题吗?
谢谢
阿杰
最佳答案
以简单日期格式显示
mm
表示分钟
MM
代表月份,您的日期(月份)正在更新,但您看不到它,您看到的是分钟,
所以你应该编辑你的格式模式,例如
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
关于java - 在Java中向日期添加一天时,不更新月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35241980/