Дата операции в Java? - PullRequest
       12

Дата операции в Java?

0 голосов
/ 26 июля 2011

Я хочу получить значения года / месяца / дня для объекта Date, но документы говорят, что методы getYear() и т. Д. Устарели.Вместо этого предлагается использовать Calendar, но мне было интересно, можно ли вместо этого использовать устаревшие методы?Это просто игрушечная программа, написанная на Обработка , но я буду выполнять довольно много операций с датами над несколькими объектами, поэтому скорость может быть проблемой.

Ответы [ 4 ]

3 голосов
/ 26 июля 2011

Я бы посоветовал вам взглянуть на Yoda Time, гораздо более приятную библиотеку для работы с датами / временем, на мой взгляд.

http://joda -time.sourceforge.net /

1 голос
/ 26 июля 2011

Я бы не рекомендовал использовать методы Date. Я не вижу никаких преимуществ вообще. Вызов этого метода для Date или Calendar не имеет значения для вас как для программиста, не так ли? Нет никакого смысла вызывать его в Date экземпляре.

Как вы заметили, эти методы устарели. Это означает, что они могут быть удалены из API в любое время без предварительного уведомления. Реальность такова, что это может произойти только при обновлении JVM. Ваш код перестанет работать, только если вы переключитесь на JVM, которая удаляет их.

Таким образом, существует небольшой риск того, что ваш код внезапно перестанет работать, но он не равен нулю.

1 голос
/ 26 июля 2011

Если API удален, он может быть опасным или ошибочным .Если предложенные альтернативы существуют, вы должны их использовать (и не привыкать их игнорировать).Использование Календаря не так сложно, чтобы получить то, что вам нужно.Если у вас есть специальные операции с календарем, вы можете попробовать Joda, как упомянуто Чарльзом Гудвином, но для вашего случая использования нет необходимости зависеть от сторонней библиотеки.

1 голос
/ 26 июля 2011

Либо один в порядке.Я бы придерживался Calendar только для того, чтобы соответствовать версии Java.Следует избегать устаревших методов хотя бы потому, что это хорошая привычка.

Если есть жизнеспособная альтернатива, я бы держался подальше от устаревших вещей, если у вас нет веских причин, таких как скорость.Я сомневаюсь, что переключение с Date на Calendar приведет к значительной потере скорости.Возможно, вы захотите сравнить его на всякий случай.

...