Java8之前,我用Joda的DateTime
類包括時區信息,我可以很容易地以DateTime
和SQL Timestamp
之間的轉換。的Java 8 ZonedDateTime或OffsetDateTime更換喬達日期時間
一旦遷移到Java8,我應該替換哪個類? OffsetDateTime
或ZonedDateTime
?
此外,我試圖使用OffsetDateTime
,但它似乎不能構建回OffsetDateTime
從sql Timestamp
。
對於喬達DateTime
和Timestamp
轉換器,代碼如下:
val joda = DateTime.now()
val sqlJoda = new Timestamp(joda.getMillis)
val jodaBack = new DateTime(sqlJoda)
但對於Java8,
val java8 = OffsetDateTime.now()
val sqlJava8 = new Timestamp(java8.toInstant.toEpochMilli)
val java8Back = ???
任何人有關於一些想法?看來喬達DateTime
真的很好。
SQL時間戳的官方映射是LocalDateTime(不帶時區的時間戳)或OffsetDateTime(帶時區的時間戳)。例如,請參閱JDBC 4 JCP的維護版本2:https://jcp.org/en/jsr/detail?id = 221 – assylias
不知道。謝謝。那裏有任何文件嗎? – spa
另請參閱:http://stackoverflow.com/a/31749317/829571 – assylias