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

Was dit nuttig?

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.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top