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

时间:2012-08-20 03:43:27

标签: java datetime jodatime

  

可能重复:
  Should I use Java date and time classes or go with a 3rd party library like Joda Time?

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

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

1 个答案:

答案 0 :(得分:28)

Java的标准日期和时间类(主要是java.util.Datejava.util.Calendar)功能有限,并且存在许多设计问题。许多java.util.Date的构造函数和方法被弃用的事实就是一个迹象。

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

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

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

另请参阅Joda Time项目主页上的Why Joda Time?

  

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

不,它不属于standard API

更新(从评论中复制):

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