0

假设我想要日期数组我想要日期之间

开始日期 - 26/9/2012 结束日期 - 3/10/2012

差异天数=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
        }   

它添加了我的日期,但是当日期是 2012 年 9 月 30 日时,我如何添加月份?

4

2 回答 2

1

日期为 时无需添加月份30/09/2012。日历会自动获取你想要的天数。只需diffinDays在 for 循环中管理变量,您将在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]);
        }
于 2012-10-03T12:43:33.637 回答
0

乔达时间

这在 Joda-Time 中更容易。

DateTimeFormatter formatter = DateTimeFormat.forPattern( "d/M/yyyy" );
LocalDate start = formatter.parseLocalDate( "26/9/2012" );
// loop
LocalDate localDate = start.plusDays( i );
于 2014-06-17T08:03:06.553 回答