获取近7天连续时间(正序)
for (int i = 7; i >= 1; i--) {
String monthDate = LocalDateTime.now().minusDays(i)
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println(monthDate);
}
结果:
2022-01-17
2022-01-18
2022-01-19
2022-01-20
2022-01-21
2022-01-22
2022-01-23
扩展:
1.获取以时间为key,内容为实体的初始化类
public Map<String, HisDeviceTotalDto> initializationData7() {
Map<String, HisDeviceTotalDto> map = new HashMap<>();
for (int i = 7; i >= 1; i--) {
String monthDate = LocalDateTime.now().minusDays(i)
.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
HisDeviceTotalDto dto = new HisDeviceTotalDto();
dto.setDay(monthDate);
dto.setTotal(0);
map.put(monthDate, dto);
}
return map;
}
//map中的values转成list<T>
List<HisDeviceTotalDto> deviceTotalDtoList = new ArrayList<>(map.values());
结果:
{
"2022-01-18":{"day":"2022-01-18","total":0},
"2022-01-19":{"day":"2022-01-19","total":0},
"2022-01-17":{"day":"2022-01-17","total":0},
"2022-01-21":{"day":"2022-01-21","total":0},
"2022-01-22":{"day":"2022-01-22","total":0},
"2022-01-23":{"day":"2022-01-23","total":0},
"2022-01-20":{"day":"2022-01-20","total":0}
}