关于何时值得使用 Joda Time 而不是基本的 java.util.Date 类,我可以使用一些指导。有什么好处?Joda Time 是否允许您执行 Date 类无法执行的任何操作,或者使用它更容易还是什么?
此外,我还看到关于 Joda Time 是否是标准 API 的一部分的相互矛盾的信息。是标准的还是不标准的?
关于何时值得使用 Joda Time 而不是基本的 java.util.Date 类,我可以使用一些指导。有什么好处?Joda Time 是否允许您执行 Date 类无法执行的任何操作,或者使用它更容易还是什么?
此外,我还看到关于 Joda Time 是否是标准 API 的一部分的相互矛盾的信息。是标准的还是不标准的?
Java 的标准日期和时间类(主要是java.util.Date
和java.util.Calendar
)功能有限,并且存在许多设计问题。许多构造函数和方法java.util.Date
被弃用的事实就是一个迹象。
Joda Time 的 API 比 Java 标准库中的 API 要好得多。有带或不带时区的时间戳类,只保存日期(年,月,日)或只保存一天中的时间的类,周期,持续时间和间隔的类,它支持 ISO 8601 格式(这是标准XML 文档中的格式)等等。
我会在任何项目中使用 Joda Time 作为我的标准日期和时间库 - 真的没有理由使用java.util.Date
和java.util.Calendar
.
请注意,在 Java 的未来版本中,很可能会包含一个新的日期和时间 API,它看起来很像 Joda Time 中当前可用的 API;参见项目 ThreeTen。
另请参阅为什么选择 Joda Time?在 Joda Time 项目的主页上。
此外,我还看到关于 Joda Time 是否是标准 API 的一部分的相互矛盾的信息。是标准的还是不标准的?
不,它不是标准 API的一部分。
更新(从评论中复制):
Java 8 现已推出,它有一个新的日期和时间 API,类似于 Joda Time(请参阅包 java.time)。如果您使用的是 Java 8,请使用新的日期和时间 API。