假设我需要日期数组,我想要日期
开始日期 - 2012年9月26日 截止日期 - 2012年3月10日
diffinDays = 7; 我在做什么
for(int i=0;i<diffInDays;i++){
DateArray[i]=StartDate.toString();
SimpleDateFormat sdf= new SimpleDateFormat("dd/mm/yyyy");
Calendar c= Calendar.getInstance();
try {
c.setTime(sdf.parse(StartDate));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
c.add(Calendar.DATE, 1);
// number of days to add
StartDate= sdf.format(c.getTime()); // dt is now the new date
}
它为我添加日期,但是当日期是30/09/2012时,我如何添加月份?
答案 0 :(得分:1)
当日期为30/09/2012
时,无需添加月份。日历将自动获取您想要的日期。只需在for循环中管理diffinDays
变量,您将在DateArray
中看到日期数组。看看这段代码
String StartDate= "30/09/2012",EndDate="7/10/2012";
for(int i=0;i<diffinDays;i++){
DateArray[i]=StartDate.toString();
SimpleDateFormat sdf= new SimpleDateFormat("dd/mm/yyyy");
Calendar c= Calendar.getInstance();
try {
c.setTime(sdf.parse(StartDate));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
c.add(Calendar.DATE, 1);
// number of days to add
StartDate= sdf.format(c.getTime()); // dt is now the new date
System.out.println(DateArray[i]);
}
答案 1 :(得分:0)
在Joda-Time中这更容易。
DateTimeFormatter formatter = DateTimeFormat.forPattern( "d/M/yyyy" );
LocalDate start = formatter.parseLocalDate( "26/9/2012" );
// loop
LocalDate localDate = start.plusDays( i );