65
votes

I'm evaluating to migrate my project from the usage of Joda-Time to the java.time package in Java 8. In Joda-Time, I heavily used the Interval class. I could not find anything like this in java.time.

Is there a comparable class?

4

4 Answers

50
votes

Sorry for you, there is no equivalent in JSR-310 to JodaTime-Interval-class. I have doubts if this will ever come, but project lead Stephen Colebourne considers at least to support it in the scope of his external library Threeten-Extra, see this issue.

If you are happy with JodaTime you should keep it. Not everything in JodaTime is ported to Java 8 (Interval is not the only issue).

Update from 2014-12-13:

The situation in Java-8 has not changed, but you might also consider other external libraries beyond Joda-Time. Either Threeten-Extra which now includes a very simple interval class since v0.9 (see the other answer of S. Colebourne here) or my library Time4J which offers the range package since v2.0.

28
votes

JDK 8 JSR-310 does not have an Interval class. The concept of intervals was descoped to ensure that the rest of the library could be completed.

The ThreeTen-Extra project hosts additional non-JDK date-time classes, and v0.9 includes Interval.

Note: Answer updated 2014-12-10 to include presence of Interval in ThreeTen-Extra.

14
votes
-6
votes

Class java.time.Duration may give you similar functionality. In general java 8 time package is very comprehensive and flexible