Есть ли класс в java.time, сопоставимый с Joda-Time Interval?

Я оцениваю перенос моего проекта с использования Joda-Time в пакет java.time in Java 8. В Joda-Time я сильно использовал класс Interval. Я не мог найти ничего подобного в java.time.

Есть ли сопоставимый класс?

Ответ 1

Извините, в JSR-310 нет эквивалента в JodaTime-Interval-классе. У меня есть сомнения, если это когда-либо произойдет, но руководитель проекта Стивен Коулборн считает, по крайней мере, поддерживать его в рамках своей внешней библиотеки Threeten-Extra, см. Этот issue.

Если вы довольны JodaTime, вы должны сохранить его. Не все в JodaTime переносится на Java 8 (Интервал - это не единственная проблема).

Обновление с 2014-12-13:

Ситуация в Java-8 не изменилась, но вы можете также рассмотреть другие внешние библиотеки за пределами Joda-Time. Или Threeten-Extra, который теперь включает очень простой класс интервалов с v0.9 (см. Другой ответ С. Коулборна здесь) или мою библиотеку Time4J, которая предлагает пакет диапазона поскольку v2.0.

Ответ 2

JDK 8 JSR-310 не имеет класса Interval. Концепция интервалов была отложена, чтобы гарантировать, что остальная часть библиотеки может быть завершена.

Проект ThreeTen-Extra содержит дополнительные классы времени, отличные от JDK, а v0.9 включает Interval.

Примечание. Ответ обновлен 2014-12-10, чтобы включить присутствие интервала в ThreeTen-Extra.

Ответ 4

Класс java.time.Duration может дать вам аналогичную функциональность. В общем случае пакет 8-й версии Java является очень всеобъемлющим и гибким.