3

我正在开发一个使用共享库的项目,该共享库使用 org.threeten 作为日期/时间。由于该库在许多项目中共享,因此还不能升级到 Java 8(叹气)。最短的方法似乎是 toString()/parse() 组合

java.time.OffsetDateTime.parse(org.threeten.bp.OffsetDateTime.toString())
java.time.LocalDate.parse(org.threeten.bp.LocalDate.toString())

但就垃圾创建而言,更有效的方法可能是使用.of(...)方法:

java.time.OffsetDateTime.of(tt.getYear(), tt.getMonth(), tt.getDayOfMonth(), ...)

您是否偶然发现了一个提供 Joda、Threeten 和 java.time 类之间所有此类转换的库?

4

1 回答 1

2

最巧妙的方法是分叉 ThreeTen-Backport 并使 termporal 接口扩展它们的 Java 8 对应物。这样,你可以做OffsetDateTime.from(threeTenOffsetDateTime)等等。

我不知道有任何现有的叉子可以做到这一点。

于 2015-09-21T23:27:05.937 回答