我正在评估将我的项目从使用Joda-Time迁移到java.time package中的Java 8。在Joda-Time中,我大量使用了Interval
类。我在java.time中找不到这样的东西。
是否有类似的课程?
答案 0 :(得分:43)
很抱歉,JSR-310与JodaTime-Interval-class没有对应关系。我怀疑这是否会发生,但项目负责人Stephen Colebourne认为至少在他的外部库Threeten-Extra的范围内支持它,请参阅issue。
如果你对JodaTime感到满意,你应该保留它。并非JodaTime中的所有内容都移植到Java 8(Interval不是唯一的问题)。
2014-12-13更新:
Java-8中的情况没有改变,但您可能还会考虑除Joda-Time之外的其他外部库。 Threeten-Extra现在包括一个非常简单的间隔类,自v0.9(参见S. Colebourne的另一个答案)或我的库Time4J,它自v2.0开始提供the range package。
答案 1 :(得分:27)
JDK 8 JSR-310没有Interval
类。间隔的概念被描述以确保库的其余部分可以完成。
ThreeTen-Extra项目托管其他非JDK日期时间类,v0.9包含Interval
。
注意:答案更新时间为2014-12-10,以便在ThreeTen-Extra中包含Interval
。
答案 2 :(得分:10)
使用Guava的Range课程。
有关详细信息,请参阅https://stackoverflow.com/a/23485533/1214902。
答案 3 :(得分:-6)
类java.time.Duration可能会为您提供类似的功能。一般来说java 8时间包非常全面和灵活