Is there a class in java.time comparable to the Joda-Time Interval?

Java 8JodatimeJava Time

Java 8 Problem Overview


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?

Java 8 Solutions


Solution 1 - Java 8

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.

Solution 2 - Java 8

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.

Solution 3 - Java 8

Use Range class from Guava.

See https://stackoverflow.com/a/23485533/1214902 for more details.

Solution 4 - Java 8

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiondajoodView Question on Stackoverflow
Solution 1 - Java 8Meno HochschildView Answer on Stackoverflow
Solution 2 - Java 8JodaStephenView Answer on Stackoverflow
Solution 3 - Java 8dap.tciView Answer on Stackoverflow
Solution 4 - Java 8Michael GantmanView Answer on Stackoverflow