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

问题描述 投票:36回答:1

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

java-8 jodatime deprecated java-time
1个回答
47
投票

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

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

所以对你的问题的简短回答是:是(已弃用)。但是,请记住,Java-8中没有Joda-IntervalPeriodTypePeriodFormatter等功能,因此您必须编写自己的部分丑陋的解决方法,另请参阅我的SO-post关于Joda-Time和JSR-310之间的差异。

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

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

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

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

  • Threeten-Extra(作为Basil Bourque的最爱,见他的评论)
  • Time4J(我自己的扩展,互操作性问题在2015年夏天解决)
© www.soinside.com 2019 - 2024. All rights reserved.