Was ist der beste Weg, um Zeit in einer Java-Anwendung zu verwalten?
Frage
Also ich bin mit Hibernate und die Arbeit mit einer Anwendung, die Zeit verwaltet. Was ist der beste Weg, um mit Zeiten in einer 24-Stunden-Uhr zu tun?
Ich brauche nicht über Time-Zone Probleme zu Beginn dieser Anwendung sorgen, aber es wäre am besten, um sicherzustellen, dass diese Funktionalität wird am Anfang eingebaut.
Ich verwende auch überwintern, wie ein FYI
Lösung
Speichern Sie sie so lange ts = System.currentTimeMillis (). Das Format ist eigentlich Time-Zone-sicher, da es Zeit in UTC zurück.
Wenn Sie nur Zeit Teil benötigen, na ja, ich bin mir nicht bewusst eingebauter Typ in Hib, aber Ihre eigene Art TIME24 schreibt, ist trivial - nur entweder implementieren org.hibernate.UserType oder org.hibernate.CompositeUserType ( load = nullSafeGet und store = nullSafeSet Methoden in ihnen).
Siehe http: //docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-types-custom
Aber ich würde immer noch die absolute Zeit sowieso sparen. kann helfen, in der Zukunft.
P. S. Das ist alles, vorausgesetzt, speichert Datum außer Frage aus irgendeinem Grund. Time-Zone in Datum wird manchmal in der Art und Weise, wirklich. ;)
Andere Tipps
Ich würde vorschlagen, Sie suchen in mit Joda, http://joda-time.sourceforge.net/ , die als die Kern Datum und Kalender-Implementierungen Handhabung Funktionalität viel intuitiver und kontrollierbare Zeit bietet. 310 JSR ist eigentlich ein Satz einen neuen Zeit-API in Java zählen 7, die weitgehend auf Joda basieren wird. Joda bietet sowohl auch Zeitzone abhängig Zeit Handhabung und Zeitzone unabhängige Zeitbehandlung, die Schwierigkeiten erleichtert, wenn sie mit Abständen zu tun.
Gibt es etwas falsch mit der Verwendung von java.util.Date?
java.util.Date
verwendet werden sollte; nicht lange (und auf jeden Fall ein Calendar
nicht).
Wenn Sie mit Anmerkungen sicher sein @Temporal
verwenden
Ich fand auch eine andere Bibliothek vor kurzem, die eine Antwort auf JODA zu sein scheint. http://www.date4j.net/
Die Vorteile auf der Projekt-Homepage aufgelistet sind.