Есть ли в 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 очень всеобъемлющий и гибкий