【问题标题】:Is Joda Time deprecated with java 8 Date and Time API? (java.time)Java 8 日期和时间 API 是否已弃用 Joda Time? (java.time)
【发布时间】:2015-06-27 07:35:35
【问题描述】:

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

【问题讨论】:

    标签: java-8 jodatime deprecated java-time


    【解决方案1】:

    Joda-time 的作者本人的官方声明是Java-8 可用时立即迁移。另请参阅website 的引用:

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

    所以对您的问题的简短回答是:是(已弃用)。但是,请记住,Java-8 中不提供 Joda-IntervalPeriodTypePeriodFormatter 等某些功能,因此您必须编写自己的部分难看的解决方法,另请参阅我的 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 版本的中心基石)。因此,将来总会有一些空间留给外部库来提供缺失的功能,例如(按字母顺序):

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

    【讨论】:

    • ThreeTen-Extra 就是这样一个外部库,它提供了 java.time 中缺少的功能。 (为了解释名称,JSR 310 定义了 java.time。)
    • @BasilBourque 谢谢,我知道 Threeten-Extra,但印象不深。它也缺乏人力,我可以看到一些严重的质量问题。您还应该看看我的库,它将在今年 6 月/7 月提供与 JSR-310 的出色互操作性。
    • 我没有看到任何指向您的图书馆的链接,也没有看到它的名称。
    猜你喜欢
    • 2014-03-24
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2018-07-10
    • 1970-01-01
    • 2011-04-29
    相关资源
    最近更新 更多