Каков наилучший способ управления временем в приложении Java? - PullRequest
2 голосов
/ 24 сентября 2008

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

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

Я тоже использую спящий режим, просто как фью

Ответы [ 5 ]

4 голосов
/ 24 сентября 2008

Сохраните их как 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#mapping-types-custom

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

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

2 голосов
/ 24 сентября 2008

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

1 голос
/ 24 сентября 2008

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

0 голосов
/ 08 июня 2010

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

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

0 голосов
/ 24 сентября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...