Pergunta

Então, eu estou usando hibernate e trabalhar com um aplicativo que gerencia o tempo. Qual é a melhor maneira de lidar com os tempos em um relógio de 24 horas?

Eu não precisa se preocupar com questões de fuso horário no início desta aplicação, mas seria melhor para garantir que esta funcionalidade é construída no começo.

Eu estou usando hibernate, assim, apenas como um fyi

Foi útil?

Solução

armazená-los como longos ts = System.currentTimeMillis (). Esse formato é realmente TimeZone-safe como voltar no tempo UTC.

Se você só precisa de tempo parcial, bem, eu não estou ciente de built-in tipo de Hib, mas escrever seu próprio tipo Time24 é trivial - apenas implementar quer org.hibernate.UserType ou org.hibernate.CompositeUserType ( métodos de carga = nullSafeGet e armazenar = nullSafeSet neles).

http: //docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-types-custom

Mas eu ainda economizar tempo absoluto de qualquer maneira. Pode ajudar no futuro.

P.S. Isso é tudo presumindo Data armazenamento está fora de questão por algum motivo. Fuso horário em Data, por vezes, fica no caminho, realmente. ;)

Outras dicas

eu sugiro que você olhar para usar Joda, http://joda-time.sourceforge.net/ , que oferece muito mais funcionalidade manuseio mais intuitivo e controlável tempo do que as implementações do núcleo de data e calendário. JSR 310 é realmente uma proposta para incluir uma nova API tempo em java 7, que será amplamente baseado em Joda. Joda também oferece tanto fuso horário manuseio Tempo dependente e fuso horário manuseio independente do tempo que facilita dificuldades ao lidar com intervalos.

Existe errado algo com o uso de java.util.Date?

java.util.Date deve ser usado; não um longo (e definitivamente não é um Calendar).

Se você estiver usando as anotações se esqueça de usar @Temporal

Eu também encontrei outra biblioteca recentemente que parece ser uma resposta a JODA. http://www.date4j.net/

As vantagens estão listadas na home page do projeto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top