Joda Time не рекомендуется использовать API даты и времени Java 8? (Java.time)
Есть ли причина использовать Joda Time, если я могу использовать Java 8 Date and Time API (java.time
)?
Должен ли я использовать Java 8 Дата и Время каждый раз?
1 ответ
Официальное заявление самого автора Joda-time - это миграция, как только будет доступна Java-8. Смотрите также эту цитату с сайта:
Обратите внимание, что Joda-Time считается в основном "законченным" проектом. Никаких серьезных улучшений не планируется. Если используется Java SE 8, перейдите на java.time (JSR-310).
Итак, краткий ответ на ваш вопрос: ДА (устарело). Однако имейте в виду, что некоторые функции, такие как Joda-Interval
или же PeriodType
или же PeriodFormatter
недоступны в Java-8, поэтому вы должны написать свои собственные уродливые обходные пути, см. также мой SO-пост о различиях между Joda-Time и JSR-310.
Побочные замечания о будущем обеих библиотек:
Что означает "законченный" в этом контексте?
Что ж, вы можете сравнить выпуск Joda 254 с моим небольшим обсуждением в Twitter. Я думаю, что люди должны скорее возлагать свои надежды на любое значительное улучшение Joda-Time. Также учтите, что ресурсы будущего развития относительно Joda-Time ограничены (нехватка рабочей силы). И давайте будем честными: большинство выпусков, начиная с Joda-Time в 2008 году, скорее имеют характер выпусков с исправлениями ошибок (за исключением 2.0).
С другой стороны: скорость нововведений в JSR-310, вероятно, тоже будет не очень высокой (потому что она уже большая, а Oracle здесь играет решающую роль, а библиотека даты и времени вообще не считается центральной краеугольный камень любого Java-релиза). Таким образом, в будущем всегда остается место для внешней библиотеки для предоставления отсутствующих функций, например (в алфавитном порядке):
- Threeten-Extra (как фаворит Василия Бурка, см. Его комментарий)
- Time4J (мое собственное расширение, проблема совместимости решена летом 2015 года)