Prima di Java8, ho utilizzato la classe DateTime
di Joda per includere le informazioni sul fuso orario e posso facilmente convertire tra DateTime
e sql Timestamp
.Java 8 ZonedDateTime o OffsetDateTime per sostituire Joda DateTime
Una volta eseguita la migrazione a Java8, quale classe dovrei sostituire? OffsetDateTime
o ZonedDateTime
?
Inoltre, ho provato a utilizzare OffsetDateTime
, ma sembra impossibile ricostruire a OffsetDateTime
da un sql Timestamp
.
Per Joda DateTime
e Timestamp
convertitore, il codice è come:
val joda = DateTime.now()
val sqlJoda = new Timestamp(joda.getMillis)
val jodaBack = new DateTime(sqlJoda)
Ma per Java8,
val java8 = OffsetDateTime.now()
val sqlJava8 = new Timestamp(java8.toInstant.toEpochMilli)
val java8Back = ???
Qualcuno ha qualche idea in proposito? Sembra che Joda DateTime
sia davvero buono.
La mappatura ufficiale di un timestamp SQL è LocalDateTime (timestamp senza fuso orario) o OffsetDateTime (timestamp con fuso orario). Vedere ad esempio la Maintenance release 2 di JDBC 4 JCP qui: https://jcp.org/en/jsr/detail?id=221 – assylias
Non lo sapevo. Grazie. C'è qualche documento là fuori? – spa
Vedi anche: http://stackoverflow.com/a/31749317/829571 – assylias