//获取30天的日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
int day=30;
Calendar now = Calendar.getInstance();
ArrayList<Object> dayTime= new ArrayList<>();
now.add(Calendar.DAY_OF_MONTH, +1);
int i = 0;
while (i++ < day) {
now.add(Calendar.DAY_OF_MONTH, -1);
String endDate = sdf.format(now.getTime());
dayTime.add(endDate);
}
// 获取用户近30天的学时(当天学时为0时,sql查询不显示)
List<Map<String, Object>> timeList = currentStateMapper.getUsere(condition);
// 补全sql查询时间(补全30天全部学时,没有的为0)
boolean exists=false;
for (int c=0;c<dayTime.size();c++) {
exists=false;
for (Map<String, Object> hs : timeList) {
if (dayTime.get(c).equals(hs.get("date"))) {
exists=true;
break;
}
}
if(!exists){
final String date= (String) dayTime.get(c);
timeList.add(c,new HashMap<String,Object>(){{
put("date", date);
put("watchTimes", 0);
}});
}
}
//按照时间排序
Collections.sort(timeList, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
try {
Date dt1 = sdf.parse((String) o1.get("date"));
Date dt2 = sdf.parse((String) o2.get("date"));
if (dt1.getTime() > dt2.getTime()) {
return -1;
} else if (dt1.getTime() < dt2.getTime()) {
return 1;
} else {
return 0;
}
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
});
获取时间,sql查询时间补全,时间排序
最新推荐文章于 2024-02-06 18:10:43 发布