Wat is die beste manier om tyd te bestuur in 'n Java program?
Vra
So ek gebruik hiberneer en werk met 'n program wat tyd bestuur. Wat is die beste manier om te gaan met tye in 'n 24 uur-horlosie?
Ek hoef nie te bekommer oor Tydsone kwessies aan die begin van hierdie aansoek, maar dit sal beter wees om te verseker dat hierdie funksie is gebou in aan die begin.
Ek gebruik hiberneer sowel, net soos 'n FYI
Oplossing
Hou hulle so lank ts = System.currentTimeMillis (). Dat formaat is eintlik Tydsone-veilig as dit tyd om terug te keer in UTC.
As jy net tyd deel nodig het, goed, ek is nie bewus van 'n ingeboude tipe in Hib, maar die skryf van jou eie soort Time24 is triviale - net implementeer óf org.hibernate.UserType of org.hibernate.CompositeUserType ( vrag = nullSafeGet en winkel = nullSafeSet metodes in hulle).
http: //docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-types-custom
Maar ek wil nog red absolute tyd in elk geval. Kan help in die toekoms.
post scriptum. Dit is al wat vermoed stoor Datum is buite die kwessie vir een of ander rede. Tydsone in Datum soms in die pad, regtig. ;)
Ander wenke
Ek stel voor jy kyk na die gebruik van Joda, http://joda-time.sourceforge.net/ , wat veel meer bied intuïtief en beheerbaar tyd hantering funksionaliteit as die kern Datum en Kalender implementering. JSR 310 is eintlik 'n stelling om 'n nuwe tyd API in Java 7 wat sal grootliks gebaseer op Joda sluit. JODA bied ook beide tydsone afhanklik Tyd hantering en tydsone onafhanklike tyd hantering wat probleme vergemaklik wanneer daar met tussenposes.
Is daar iets fout is met behulp van java.util.Date?
java.util.Date
gebruik moet word; nie 'n lang (en beslis nie 'n Calendar
).
As jy 'annotasies seker wees om @Temporal
gebruik
Ek het ook bevind 'n ander biblioteek onlangs wat lyk na 'n antwoord op JODA wees. http://www.date4j.net/
Die voordele is gelys op die projek se tuisblad.