【问题标题】:Differences between java.util.Date and Joda Time APIs [duplicate]java.util.Date 和 Joda Time API 之间的区别 [重复]
【发布时间】:2012-08-15 10:51:08
【问题描述】:

可能重复:
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 的一部分,我看到了相互矛盾的信息。是不是标准的?

【问题讨论】:

标签: java datetime jodatime


【解决方案1】:

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

Joda Time 的 API 比 Java 标准库中的 API 要好得多。有带或不带时区的时间戳类,只保存日期(年,月,日)或只保存一天中的时间的类,周期,持续时间和间隔的类,它支持 ISO 8601 格式(这是标准XML 文档中的格式)等等。

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

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

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

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

不,它不是standard API 的一部分。

更新(从 cmets 复制):

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

【讨论】:

  • 更新:Java 8 现已推出,它有一个类似于 Joda Time 的新日期和时间 API(请参阅包 java.time)。如果您使用的是 Java 8,请使用新的日期和时间 API。
  • 目前我在我的项目中使用 Java 7 和 Joda Time API。但我会尝试测试 Java 8 的新日期和时间 API。无论如何谢谢人
  • @SaiYeYanNaingAye 现在还有一个 backport of the Java 8 date and time API 可用 - 一个可用于 Java 7 的单独库,它将为您提供新的 Java 8 日期和时间 API(略有不同)。跨度>
猜你喜欢
  • 2015-07-11
  • 1970-01-01
  • 2011-05-23
  • 2016-04-18
  • 1970-01-01
  • 1970-01-01
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多