piatachki
@piatachki

Как сгруппировать времена в Unix-time по дням?

Здравствуйте.

Есть коллекция сущностей (условно событие), которых есть поле

Long time; // System.currentTimeInMillis()

В этом поле хранится время в UnixTime-формате. Мне нужно подсчитать количество событий, произошедших за дни. То есть в идеале на выходе хочется получить Map<Date, Integer>, где ключ - день (просто день, без времени), а значение - количество событий.

И что-то у меня алгоритмический затык. Чую, что нужно написать функцию для stream().map(), которая на вход принимает UnixTime, а на выходе дает дату без времени. Но при этом хочется ещё и так, что бы сравнение даты было только по год-месяц-день, чтобы можно было потом сгруппировать Collectors.groupBy().

Собственно, вопрос - есть готовый класс, который хранит только дату (без времени) и/или у которого реализован equals с учетом даты без времени. Или придется писать свою обертку?
  • Вопрос задан
  • 156 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Unix-time - имеете ввиду количество мл.сек. с 01.01.1970?
Тогда просто разделите значение на количество миллисекунд в сутках (86400000), получите тот же unix-time только в днях.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы