Joda Time是否已被Java 8 Date and Time API弃用?(java.time)

Ond*_*zek 39 deprecated jodatime java-8 java-time

如果我可以使用Java 8 Date and Time API(java.time),有没有理由使用Joda Time ?
我应该每次都使用Java 8日期和时间吗?

Men*_*ild 51

Joda-time本人的官方声明是在Java-8可用时立即迁移.另见网站上的引用:

请注意,Joda-Time被认为是一个很大程度上"完成"的项目.没有计划重大改进.如果使用Java SE 8,请迁移到java.time(JSR-310).

所以对你的问题的简短回答是:是(已弃用).但是,请记住,像Joda-一些功能Interval或者PeriodType或者PeriodFormatter不可用在Java的8所以你必须写自己的部分丑陋的解决方法,也看到我的SO-后约乔达时间和JSR-310之间的差异.

关于两个图书馆未来的侧面评论:

在这种情况下,"完成"意味着什么?

那么,您可以将Joda-issue 254与我在Twitter上的小讨论进行比较.我认为人们应该对Joda-Time的任何重大改进设定他们的期望.还请考虑有关Joda-Time的未来开发资源有限(缺乏人力).说实话:自2008年Joda-Time以来的大多数版本都具有bugfix版本的特性(2.0除外).

另一方面:JSR-310的创新速度也可能不会很高(因为它已经很大了,因为Oracle在这里是决定性的参与者而且日期时间库通常不被认为是中心任何Java版本的基石).因此,未来外部库总会留有一些空间来提供缺失的功能,例如(按字母顺序排列):

  • Threeten-Extra(作为Basil Bourque的最爱,见他的评论)
  • Time4J(我自己的扩展,互操作性问题在2015年夏天解决)

  • [ThreeTen-Extra](http://www.threeten.org/threeten-extra/)是一个提供java.time缺失功能的外部库.(为了解释这个名称,JSR 310定义了java.time.) (4认同)
  • 我没有看到您的图书馆的任何链接,也没有其名称. (2认同)