我应该使用Java日期和时间类还是使用像Joda Time这样的第三方库?
我正在创建一个基于网络的系统,该系统将用于来自世界各地的国家。 必须存储的一种类型的数据是日期和时间。
与Joda时间等第三方库相比,使用Java日期和时间类有哪些优缺点? 我猜这些第三方库的存在是有原因的,但我从来没有真正比较过他们自己。
编辑:现在,Java 8已经发布,如果你可以使用它,那么! 在我看来, java.time
比Joda Time更干净。 但是,如果您在Java-8之前卡住了,请继续阅读...
Max询问使用Joda的优缺点......
优点:
java.time
,从而开始学习,因为它们至少有点类似 缺点:
DateTimeZoneBuilder
。 但这是一个非常罕见的用例。 为了回应oxbow_lakes有效构建您自己的小型API的想法,以下是我对这是一个坏主意的看法:
那么,除非你打算等待Java 8,希望他们能够实现一个更好的API来处理日期和时间,是的,请使用Joda-Time。 节省时间并避免许多麻烦。
答案是:这取决于
JODA(和JSR-310)是一个功能齐全的日期/时间库,包括支持多个日历系统的使用。
就我个人而言,我发现JODA对于我所需要的复杂性来说太过分了。 标准java Date
和Calendar
类中的两个主体(恕我直言)错误是:
虽然JODA解决了这些问题,但您会发现为YearMonthDay
和Instant
YearMonthDay
自己的类很容易,它们都使用实际“日历”计算中的java类进行实现。 然后,您不必熟悉> 100个类的API,不同的格式化/解析机制等。
当然,如果你确实需要不同年表(如希伯来语)的完整表示,或者希望能够定义你自己想象中的日历系统(例如你正在写一个游戏),那么JODA或JRS-310可能就是你的。 如果不是的话,那么我会建议,滚动你自己可能是一条路。
JSR-310规格的领先者是Stephen Colebourne,他在第一位写JODA,所以会在逻辑上取代JODA。
链接地址: http://www.djcxy.com/p/18765.html上一篇: Should I use Java date and time classes or go with a 3rd party library like Joda Time?