gpt4 book ai didi

java - 按时间间隔对 Java 8 日期进行分组

转载 作者:搜寻专家 更新时间:2023-11-01 01:50:38 25 4
gpt4 key购买 nike

使用 Java 8 java.time 框架,如何将日期分组为间隔?例如,每10分钟为一个时间间隔,给定一个列表 LocalTime

List<LocalTime> list = Arrays.asList(LocalTime.of(0,9),LocalTime.of(0,11),LocalTime.of(0,19));

如果以10分钟为间隔分组,LocalTime.of(0,9)应该在第一组,但是LocalTime.of(0,11),LocalTime.of(0,19)在第二个间隔。

最佳答案

使用 Java 8 时间 API,这可以非常方便地完成:

Map<Integer, List<LocalTime>> map = 
list.stream()
.collect(Collectors.
groupingBy(x -> x.get(ChronoField.MINUTE_OF_DAY) / 10)
);

此示例将使用 LocalTime并将您的帖子分组,每组 10 分钟。

注意:这最初是对 Java 8 complex custom collector 的回答,但由于它没有解决 OP 问题,并得到了一些赞成票,我删除了它并为其写了一个问题。根据 JodaStephen 的评论更改了调用顺序

关于java - 按时间间隔对 Java 8 日期进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34438656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com