【发布时间】:2015-06-27 07:35:35
【问题描述】:
如果我可以使用 Java 8 日期和时间 API (java.time),是否有任何理由使用 Joda Time?
我应该每次都使用 Java 8 日期和时间吗?
【问题讨论】:
标签: java-8 jodatime deprecated java-time
如果我可以使用 Java 8 日期和时间 API (java.time),是否有任何理由使用 Joda Time?
我应该每次都使用 Java 8 日期和时间吗?
【问题讨论】:
标签: java-8 jodatime deprecated java-time
Joda-time 的作者本人的官方声明是Java-8 可用时立即迁移。另请参阅website 的引用:
请注意,Joda-Time 被认为是一个基本“完成”的项目。 没有计划进行重大改进。如果使用 Java SE 8,请迁移 到 java.time (JSR-310)。
所以对您的问题的简短回答是:是(已弃用)。但是,请记住,Java-8 中不提供 Joda-Interval 或 PeriodType 或 PeriodFormatter 等某些功能,因此您必须编写自己的部分难看的解决方法,另请参阅我的 SO-post 关于 Joda 之间的差异-时间和 JSR-310。
关于这两个库的未来的旁白:
在这种情况下,“完成”是什么意思?
好吧,您可以将Joda-issue 254 与我的small discussion on Twitter 进行比较。我认为人们更应该对 Joda-Time 的任何重大改进设定期望。还请考虑到有关 Joda-Time 的未来开发资源是有限的(缺乏人力)。老实说:自 2008 年 Joda-Time 以来的大多数版本都具有错误修复版本的特征(2.0 除外)。
另一方面:JSR-310 的创新速度可能也不会很高(因为它已经很大了,而且因为 Oracle 是这里的决定性参与者,一般不考虑日期时间库作为任何 Java 版本的中心基石)。因此,将来总会有一些空间留给外部库来提供缺失的功能,例如(按字母顺序):
【讨论】: