//补全日期 List<String> dateList=findDatesYear(startTime,endTime); ArrayList<Object[]> list=logoiddao.selectDateDayS(startTime, endTime, queryId); List<Map<String,Object>> mapList=new ArrayList<Map<String,Object>>(); //key :日期 value:数值 for(Object[] li:list) { Map<String,Object> map=new HashMap<String,Object>(); map.put("date",li[0].toString()); map.put("count", li[1]); mapList.add(map); } boolean flag=false; for (int i=0;i<dateList.size();i++) { flag=false; for (Map<String, Object> hs : mapList) { if (dateList.get(i).equals(hs.get("date"))) { flag=true; break; } } if(flag!=true){ final String date=dateList.get(i); mapList.add(i,new HashMap<String,Object>(){{ put("count", 0); put("date", date); }}); } } return mapList;
//JAVA获取某段时间内的所有日期
public static List<String> findDates(String dStart, String dEnd) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
List<String> dateList=null;
try {
Calendar cStart = Calendar.getInstance();
cStart.setTime(sdf.parse(dStart));
dateList = new ArrayList<String>();
//别忘了,把起始日期加上
dateList.add(dStart);
// 此日期是否在指定日期之后
while (sdf.parse(dEnd).after(cStart.getTime())) {
// 根据日历的规则,为给定的日历字段添加或减去指定的时间量
cStart.add(Calendar.DAY_OF_MONTH, 1);
dateList.add(sdf.format(cStart.getTime()));
}
}catch(Exception e) {
e.printStackTrace();
}
return dateList;
}
@Test
public void test() {
}
//JAVA获取某段时间内的所有日期
public static List<String> findDatesYear(String dStart, String dEnd) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM");
//先将日期换成月份制
List<String> dateList=null;
try {
Date date=sdf2.parse(sdf2.format(sdf.parse(dStart)));//2018-01 date
Date datelast=sdf2.parse(sdf2.format(sdf.parse(dEnd)));
String dateSpring=sdf2.format(sdf.parse(dStart)); //2018-01
Calendar car = Calendar.getInstance();
car.setTime(date);
dateList = new ArrayList<String>();
//别忘了,把起始日期加上
dateList.add(dateSpring);
//此日期是否在指定日期之后
while (datelast.after(car.getTime())) {
//根据日历的规则,为给定的日历字段添加或减去指定的时间量
car.add(Calendar.MONTH ,1);
dateList.add(sdf2.format(car.getTime()));
}
}catch(Exception e) {
e.printStackTrace();
}
return dateList;
}