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

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

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

4 ответа

Решение

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

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

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

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

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

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

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

Используйте Range Range из Гуавы.

См. /questions/37536662/interval-localdate-v-joda-vremeni/37536673#37536673 для получения дополнительной информации.

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

Другие вопросы по тегам