我有一个开始时间:startTime:09-2017,结束时间是 endTime:05-2018。我想计算每个月的数据量然后加起来计算从开始到结束的时间段内的数据。例如,开始时间为 09-2017,结束时间为 5-2018。在8个月期间,我想计算每个月的数据,然后相加计算出所有时间段。我使用 for 循环作为结束时间减去一个月。如果 endTime 的月份等于 monthOfStartTime,循环将停止。我将数据保存到一个 arrayList 中,一个月后我会将它添加回来。下面是我的代码:
开始时间:09-2017;结束时间:05-2018;
@Autowired
private StudentDao studentDao;
//total students in 8 month
List<Student> students = new ArrayList<>();
//caculator data in everyMonth
for (int i = dateTimeNow.getMonthOfYear(); i >= 0; i--) {
//break if equal startTime.
LocalDateTime startTimeCaculator = endTime.getMonthOfYear().minusMonths(i-1);
List<Student> studentOnMonth =
studentDao.getDataEveryMonth(startTimeCaculator,endTime);
students.addAll(studentOnMonth);
}
我有两个问题。当我计算开始日期时,循环停止的条件是什么?其次,如果我使用 i = endTime.getMonthOfYear 变量,循环将从月末开始计数到零,并且不会按年计数。时间到 5-2018 年,循环将运行 5 次,不计算 2017 年的月份。请帮忙。
四季花海
相关分类