我有一个时间戳列表,并希望将它们分组为几小时(基于24小时)
示例:
List<Long> timestamps = new ArrayList<>();
//timestamps would contains 100 timestamps from over the last few days.
Now I want a map:
Map<String, List<Long>> groupedMap = new HashMap<>();
groupedMap would contain something like
{
03.02.2015 - 12:00: [1234564321,1234564322,1234564323],
03.02.2015 - 13:00: [12346664321,12346664323,12346664323]
}
我使用的是Java 8.最有效的方法是什么?
答案 0 :(得分:3)
假设时间戳是从1970年1月1日开始的unix第二个偏移,你可以使用mod函数来填充时间戳:
long bucket = timestamp - (timestamp % 3600);
这将删除任何时间戳中小时数的任何秒数。