Is Joda Time deprecated with java 8 Date and Time API? (java.time)

Ondrej Bozek picture Ondrej Bozek · Apr 20, 2015 · Viewed 17.7k times · Source

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?

Answer

Meno Hochschild picture Meno Hochschild · Apr 21, 2015

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):

  • Threeten-Extra (as the favourite of Basil Bourque, see his comment)
  • Time4J (my own extension, interoperability issue solved in summer 2015)