将org.threeten.bp。*和org.joda.time *转换为相应的java.time。*类的最佳方法

时间:2015-09-21 21:47:12

标签: java java-8 jodatime java-time threetenbp

我正在开发一个使用共享库的项目,该库使用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类之间所有这类转换的库?

1 个答案:

答案 0 :(得分:2)

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

我不知道有任何现有的分叉这样做。