日期区间计算
给定起始日期与结束日期算出中间最后一天。我知道1357810腊,31天永不差。可是怎么让机器也知道呢?求教学习群大佬给出LocalDate工具类。
示例:起始日期2021/01/13,结束日期2021/11/20。
LocalDate startLocalDate = LocalDate.of(2021, 1, 13);
LocalDate endLocalDate = LocalDate.of(2021,11,21);
List<String> dataRange = new ArrayList<>();
//算出相差几个月循环遍历往日期范围插值
Period period = Period.between(startLocalDate, endLocalDate);
dataRange.add(endLocalDate.toString());
long monthDiscrepancy = period.get(ChronoUnit.MONTHS);
for (long i = 1; i < monthDiscrepancy; i++) {
dataRange.add(endLocalDate.minusMonths(i).with(TemporalAdjusters.lastDayOfMonth()).toString());
}
dataRange.add(startLocalDate.toString());
取上一周数据
//取上一周日期
dataRange.add(endLocalDate.minusDays(8L).toString());
//取上一年日期
dataRange.add(endLocalDate.minusYears(1L).toString());