Main m = new Main();

String bdate = "2004-01-28";
String edate = "2004-02-02";

//返回的结果: 2004-01-28, 2004-01-29 ...
List<String> list = m.diffDate(edate, bdate); String[] seriesName = {"北京","上海","哈尔滨"}; SeriesTemp st1 = new SeriesTemp("哈尔滨","123","2004-01-29");
SeriesTemp st2 = new SeriesTemp("哈尔滨","234","2004-01-31");

SeriesTemp st5 = new SeriesTemp("上海","678","2004-01-29");
SeriesTemp st6 = new SeriesTemp("上海","789","2004-01-31");

List<SeriesTemp> st_list = new ArrayList<SeriesTemp>();

st_list.add(st1);
st_list.add(st2);
st_list.add(st5);
st_list.add(st6);

/*
list中的时间与SeriesTemp中的时间比较,并且seriesName要与SeriesTemp第一个参数一致.
不相同的打印0,相同的输出list中的时间
 */ public List<String> diffDate(String endDate,String beginDate){
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String str = null;
try{
    Date d1 = df.parse(endDate);
    Date d2 = df.parse(beginDate);
    long diff = d1.getTime() - d2.getTime();
    long days = diff / (1000 * 60 * 60 * 24);
    str = String.valueOf(days);     return print(Integer.parseInt(str), beginDate);
}catch(Exception e){
e.printStackTrace();
}
return null;
}

private List<String> print(int days, String beginTime){
ArrayList<String> list = new ArrayList<String>();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = new GregorianCalendar(); for (int i = 0; i <= days; i++) {
calendar.setTime(java.sql.Date.valueOf(beginTime));
calendar.add(calendar.DATE, i);// 得到下一天时间
list.add(df.format(calendar.getTime()).toString());
}
return list;
}

解决方案 »

  1.   

    没有实体吧? 实体就3个属性, name,data,date 全部都是String
      

  2.   

    这个就是问题啊...   /*
                list中的时间与SeriesTemp中的时间比较,并且seriesName要与SeriesTemp第一个参数一致.
                不相同的打印0,相同的输出list中的时间
             */
      

  3.   

    你起码发个可以执行的代码 
    或者说出你的具体问题 和疑惑 
    大家谁有这么多时间读你的代码呀 
    建议你先debug 跟踪下变量的值 先确定问题出现的地方