piatachki
@piatachki

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

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

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

Long time; // System.currentTimeInMillis()

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
29 мар. 2024, в 13:43
1500 руб./за проект
29 мар. 2024, в 13:39
5000 руб./за проект
29 мар. 2024, в 12:59
15000 руб./за проект