Как отмечается в комментарии, обычно today
не означает 24
часа назад.
Предположим, что сейчас 2018-10-06 15:20
, 2018-10-06 00:01
следует рассматривать как today
, а 2018-10-05 23:59
- yesterday
, хотя они оба находятся в пределах 24
часов.
Это решение работает в предположении выше.
Получите стартовый миллис сегодня:
ZonedDateTime zonedDateTime = ZonedDateTime.now();
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS);
long millis = zonedDateTime.toInstant().toEpochMilli();
, затем сравните с ним:
if((data.getStartTimeMilli() > millis) {
return "Today";
} else
return "Yesterday";
}
Но будьте осторожны, когда стартовый милли раньше, чем today
,не означает, что это yesterday
, это может быть на день раньше.
Если вы хотите использовать 24 hours
для ограничения сегодня:
Instant instant = Instant.now().minusMillis(86400000);
long millis = instant.toEpochMilli();