java.util.Date和Joda Time API之间的差异

可能重复:
我应该使用Java日期和时间类,还是使用像Joda Time这样的第三方库?

我可以使用一些关于什么时候使用Joda Time而不是基本的java.util.Date类的指导。 有什么好处? Joda Time是否允许您使用Date类做任何事情,或者它更容易使用或什么?

另外,我看到有关Joda Time是否是标准API的一部分的相互矛盾的信息。 是标准还是不标准?

Java的标准日期和时间类(主要是java.util.Datejava.util.Calendar )function有限,并且存在许多设计问题。 不推荐使用java.util.Date许多构造函数和方法这一事实就是一个例子。

Joda Time有一个比Java标准库中更好的API。 有或没有时区的时间戳类,仅持有日期(年,月,日)或仅一天中的时间类,期间类,持续时间和间隔的类,它支持ISO 8601格式(这是标准XML文档中的格式)等等。

我会在任何项目中使用Joda Time作为我的标准日期和时间库 – 实际上没有理由使用java.util.Datejava.util.Calendar

请注意,在Java的未来版本中,很可能会包含一个新的日期和时间API,它看起来很像Joda Time中现有的; 见Project ThreeTen 。

另见为什么Joda时间? 在Joda Time项目的主页上。

另外,我看到有关Joda Time是否是标准API的一部分的相互矛盾的信息。 是标准还是不标准?

不,它不是标准API的一部分。

更新(从评论中复制):

Java 8现已推出,它有一个新的日期和时间API,类似于Joda Time(参见包java.time)。 如果您使用的是Java 8,请使用新的日期和时间API。