我正在创建一个基于网络的系统,将在世界各国使用。必须存储的一种数据类型是日期和时间。
与Joda time等第三方库相比,使用Java date和time类的优缺点是什么?我猜这些第三方库的存在有一个很好的理由,但我自己从来没有真正比较过它们。
发布于 2009-02-26 10:16:57
编辑:现在Java8已经发布了,如果你可以使用它,那就去做吧!在我看来,java.time甚至比Joda Time更干净。但是,如果您遇到了Java-8之前的问题,请继续阅读...
麦克斯询问使用Joda的利弊...
优点:
java.time是领先的,因为它们至少在某种程度上类似缺点:
(尽管文档非常好)
DateTimeZoneBuilder。不过,这是一个非常罕见的用例。为了回应oxbow_lakes关于有效构建你自己的小应用程序接口的想法,下面是我对为什么这是一个坏主意的看法:
发布于 2009-02-26 09:54:58
好吧,除非你打算等待Java8,希望他们能实现a better API来操纵日期和时间,是的,请使用Joda-Time。这既节省了时间,又避免了很多麻烦。
发布于 2009-02-26 10:03:48
答案是:视情况而定
JODA (和JSR-310)是一个全功能的日期/时间库,包括支持与多个日历系统一起使用。
就我个人而言,我发现JODA在复杂性方面比我所需要的要复杂得多。标准java Date和Calendar类中的两个主要错误是:
它们是可变的,它们混淆了Instant-In-Time中的-
-
尽管JODA已经解决了这些问题,但是您会发现为YearMonthDay和Instant编写自己的类非常容易,这两个类都使用java类进行实际的“日历”计算。这样你就不必熟悉超过100个类的API、不同的格式化/解析机制等。
当然,如果您确实需要不同年表的完整表示(例如,希伯来语),或者希望能够定义自己的虚构日历系统(例如,对于您正在编写的游戏),那么JODA或JRS-310可能就是为您准备的。如果没有,那么我会建议你自己滚动可能是一条可行的道路。
JSR-310规范的领导者是Stephen Colebourne,他在第一位编写了JODA,因此在逻辑上将取代JODA。
https://stackoverflow.com/questions/589870
复制相似问题