如何在android中的开始日期和结束日期内填充数组

时间:2012-10-03 12:33:07

标签: android

假设我需要日期数组,我想要日期

开始日期 - 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时,我如何添加月份?

2 个答案:

答案 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 );