我想groupingBy一个基于LocalDateTime的集合,但我只想得到时间,而不是分钟,秒.
.collect(Collectors.groupingBy(cp -> getUpdateLocalDate())
public LocalDate getUpdateLocalDate() {
return getUpdateDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
}但我也需要日期,比如:2018-10-12T09:00:00,而不仅仅是小时
发布于 2018-10-12 09:47:05
请注意,LocalDate没有时区.相反,从方法LocalDateTime返回一个getUpdateLocalDate (可能也值得重命名),然后截断LocalDateTime实例。
.collect(Collectors.groupingBy(cp -> cp.getUpdateLocalDateTime().truncatedTo(ChronoUnit.HOURS));发布于 2018-10-12 10:00:15
As said by Aomine,LocalDate不包含任何时间信息,因此,必须更改方法以返回LocalDateTime。
public LocalDateTime getUpdateLocalDateTime() {
return getUpdateDate().toInstant()
.atZone(ZoneId.systemDefault()).toLocalDateTime();
}然后,您可以执行您的操作
.collect(Collectors.groupingBy(cp ->
cp.getUpdateLocalDateTime().truncatedTo(ChronoUnit.HOURS))https://stackoverflow.com/questions/52776802
复制相似问题