Каков наилучший способ управления временем в приложении Java?

Поэтому я использую hibernate и работаю с приложением, которое управляет временем. Как лучше всего справляться со временем за 24 часа?

Мне не нужно беспокоиться о проблемах TimeZone в начале этого приложения, но было бы лучше убедиться, что эта функциональность встроена в самом начале.

Я использую Hibernate, а также как Fyi

5 ответов

Решение

Сохраните их как long ts = System.currentTimeMillis(). Этот формат на самом деле безопасен по времени, так как он возвращает время в UTC.

Если вам нужна только часть времени, я не знаю о встроенном типе в Hib, но написание собственного типа Time24 тривиально - просто реализуйте org.hibernate.UserType или org.hibernate.CompositeUserType (load=nullSafeGet и методы store=nullSafeSet в них).

См. http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html.

Но я все равно сэкономил бы абсолютное время. Может помочь в будущем.

PS Вот и все, что предполагает сохранение даты по какой-то причине. TimeZone в Date иногда мешает, правда.;)

Я бы посоветовал вам воспользоваться Joda, http://joda-time.sourceforge.net/, которая предлагает гораздо более интуитивно понятную и управляемую функциональность обработки времени, чем основные реализации Date и Calendar. JSR 310 на самом деле является предложением включить новый API времени в Java 7, который будет в основном основан на Joda. Joda также предлагает обработку времени, зависящую от часового пояса, и независимую от часового пояса обработку, что облегчает работу с интервалами.

Что-то не так с использованием java.util.Date?

java.util.Date должен быть использован; не долго (и определенно не Calendar).

Если вы используете аннотации, обязательно используйте @Temporal

Я также недавно нашел другую библиотеку, которая, кажется, является ответом на JODA. http://www.date4j.net/

Преимущества перечислены на домашней странице проекта.

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