My lib Time4J предлагает MomentInterval , который совместим с типом Instant
, а также допускает полуоткрытые (по умолчанию) или закрытые интервалы. Пример:
Instant start = ...;
Instant end = ...;
MomentInterval interval = MomentInterval.between(start, end); // half-open (end exclusive)
MomentInterval closed = interval.withClosedEnd(); // (inclusive)
Тестирование, если интервал содержит тестовый момент, легко, например:
boolean isInRange = interval.contains(Moment.from(testInstant));
Я согласен, что использование дополнительной библиотеки, вероятно, излишне, если вы только хотите сделатьэто простой тест in-range, но если вам нравится манипулировать интервалами или выполнять сложные запросы в деревьях интервалов, моя библиотека может быть вам достаточно интересна, посмотрите другие классы в range-package .