问题
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?
回答1:
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.
回答2:
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.
回答3:
Use Range class from Guava.
See https://stackoverflow.com/a/23485533/1214902 for more details.
回答4:
Class java.time.Duration may give you similar functionality. In general java 8 time package is very comprehensive and flexible
来源:https://stackoverflow.com/questions/22150722/is-there-a-class-in-java-time-comparable-to-the-joda-time-interval