使用Java 8 java.time框架,如何将日期分组为间隔?例如,每隔10分钟作为一个间隔,并给出一个列表LocalTime
List
如果以10分钟的间隔进行分组,则LocalTime.of(0,9)
应该在第一组中,但LocalTime.of(0,11),LocalTime.of(0,19)
在第二个时间间隔内.
使用Java 8时间API,可以非常方便地完成:
Map> map = list.stream() .collect(Collectors. groupingBy(x -> x.get(ChronoField.MINUTE_OF_DAY) / 10) );
此示例将使用a LocalTime
并以10分钟为一组对您的帖子进行分组.
注意:这最初是Java 8复杂自定义收集器的答案,但由于它没有解决OP问题,并得到一些upvotes,我删除了它并为它写了一个问题.根据JodaStephen的评论改变了通话顺序