提问人:klor 提问时间:9/22/2015 最后编辑:klor 更新时间:9/22/2015 访问量:1860
将 org.threeten.bp.* 和 org.joda.time* 转换为相应 java.time.* 类的最佳方法
Best way to convert org.threeten.bp.* and org.joda.time* to corresponding java.time.* class
问:
我正在处理一个使用共享库的项目,该库使用 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类之间的所有这些转换?
答:
2赞
JodaStephen
9/22/2015
#1
最简洁的方法是分叉 ThreeTen-Backport 并使术语接口扩展其 Java 8 对应接口。这样,你就可以做到了,依此类推。OffsetDateTime.from(threeTenOffsetDateTime)
我不知道有任何现有的分叉可以做到这一点。
评论