Is there any reason to use Joda Time if I can use Java 8 Date and Time API (java.time
)?
Should I use Java 8 Date and Time every time?
The official statement of the author of Joda-time himself is to migrate as soon as Java-8 is available. See also this citation from the website:
Note that Joda-Time is considered to be a largely “finished” project. No major enhancements are planned. If using Java SE 8, please migrate to java.time (JSR-310).
So the short answer to your question is: YES (deprecated). However, keep in mind that some features like Joda-Interval
or PeriodType
or PeriodFormatter
are not available in Java-8 so you have to write your own partially ugly workarounds, see also my SO-post about differences between Joda-Time and JSR-310.
Side remarks about the future of both libraries:
What does "finished" means in this context?
Well, you can compare the Joda-issue 254 with my small discussion on Twitter. I think people should rather set down their expectations to any major enhancement of Joda-Time. Please also consider that the future development resources regarding Joda-Time are limited (lack of manpower). And let's be honest: Most releases since Joda-Time in year 2008 rather have the character of bugfix releases (with the exception of 2.0).
On the other side: The innovation speed of JSR-310 will probably not be very high, too (because it is already big, and because Oracle is here the decisive player and a date-time-library is in general not considered as the central cornerstone of any Java-release). So there is always some space left for an external library in the future to supply missing features, for example (in alphabetical order):