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