Подтвердить что ты не робот

Различия между API-интерфейсами java.util.Date и Joda Time

Возможный дубликат:
Должен ли я использовать классы даты и времени Java или использовать стороннюю библиотеку, такую ​​как Joda Time?

Я мог бы использовать некоторые рекомендации о том, когда стоит использовать Joda Time, а не базовый класс java.util.Date. Каковы преимущества? Позволяет ли Joda Time делать то, что вы не можете сделать с классом Date, или просто работать с ним или что?

Кроме того, я видел противоречивую информацию о том, является ли Joda Time частью стандартного API. Это стандартно или нет?

4b9b3361

Ответ 1

Стандартные классы даты и времени Java (в основном java.util.Date и java.util.Calendar) имеют ограниченную функциональность и имеют ряд проблем с дизайном. Одним из признаков этого является то, что многие из конструкторов и методов java.util.Date являются устаревшими.

Joda Time имеет гораздо более продуманный API, чем тот, который доступен в стандартной библиотеке Java. Существуют классы временных меток с часовым поясом или без них, классы для хранения только даты (год, месяц, день) или только время суток, классы для периодов, продолжительности и интервалов, он поддерживает формат ISO 8601 (который является стандартным формат в XML-документах) и многое другое.

Я бы использовал Joda Time в качестве моей стандартной библиотеки даты и времени в любом проекте - действительно нет причин использовать java.util.Date и java.util.Calendar.

Обратите внимание, что в будущей версии Java, скорее всего, будет включен новый API с датой и временем, который будет очень похож на то, что доступно в настоящее время в Joda Time; см. Project ThreeTen.

Также см. Почему Joda Time? на главной странице проекта Joda Time.

Кроме того, я видел противоречивую информацию о том, является ли Joda Time частью стандартного API. Это стандартно или нет?

Нет, он не является частью стандартного API .

Обновить (скопировано из комментариев):

Java 8 теперь отсутствует, и у него есть новый API с датой и временем, который похож на время Joda (см. пакет java.time). Если вы используете Java 8, используйте, пожалуйста, новый API дат и времени.

Ответ 2

API-интерфейсы Java-календарей имеют присущие проблемы интермедии точности. Время Джоды - это реализация, которая более точна и широко используется.