如果我可以使用Java 8日期和时间API(java.time
),是否有任何理由使用Joda Time?
我应该每次都使用Java 8日期和时间吗?
答案 0 :(得分:48)
Joda-time本人的官方声明是,只要Java-8可用,就迁移。另请参阅website:
中的引文请注意,Joda-Time被认为是一个很大程度上“完成”的项目。 没有计划重大改进。如果使用Java SE 8,请迁移 到java.time(JSR-310)。
因此,对您的问题的简短回答是:是(已弃用)。但是,请记住,Joda中的某些功能 - Interval
或PeriodType
或PeriodFormatter
在Java-8中不可用,因此您必须编写自己的部分丑陋的解决方法,另请参阅my { {3}}关于Joda-Time和JSR-310之间的差异。
关于两个图书馆未来的侧面评论:
“完成”在这种情况下意味着什么?
好吧,您可以将SO-post与我的Joda-issue 254进行比较。我认为人们应该对Joda-Time的任何重大改进设定他们的期望。还请考虑有关Joda-Time的未来开发资源有限(缺乏人力)。说实话:自2008年Joda-Time以来的大多数版本都具有bugfix版本的特性(2.0除外)。
另一方面:JSR-310的创新速度也可能不会很高(因为它已经很大了,因为Oracle在这里是决定性的参与者,并且日期时间库通常不被考虑作为任何Java版本的核心基础)。因此,未来外部库总会留有一些空间来提供缺失的功能,例如(按字母顺序排列):