web-dev-qa-db-fra.com

Joda Time est-il déconseillé avec Java 8 API de date et d'heure? (Java.time)

Y a-t-il une raison d'utiliser Joda Time si je peux utiliser Java 8 Date and Time API (Java.time)?
Dois-je utiliser Java 8 Date et heure à chaque fois?

39
Ondrej Bozek

La déclaration officielle de l'auteur de Joda-time lui-même est de migrer dès que Java-8 sera disponible . Voir aussi cette citation du site Web :

Notez que Joda-Time est considéré comme un projet largement "terminé". Aucune amélioration majeure n'est prévue. Si vous utilisez Java SE 8, veuillez migrer vers Java.time (JSR-310).

Donc, la réponse courte à votre question est: OUI (obsolète). Cependant, gardez à l'esprit que certaines fonctionnalités comme Joda -Interval ou PeriodType ou PeriodFormatter ne sont pas disponibles dans Java-8, vous devez donc écrire vos propres solutions de contournement partiellement laides, voir aussi mon SO-post sur les différences entre Joda-Time et JSR-310.

Remarques secondaires sur l'avenir des deux bibliothèques:

Que signifie "terminé" dans ce contexte?

Eh bien, vous pouvez comparer le Joda-issue 254 avec mon petite discussion sur Twitter . Je pense que les gens devraient plutôt fixer leurs attentes à toute amélioration majeure de Joda-Time. Veuillez également considérer que les futures ressources de développement concernant Joda-Time sont limitées (manque de main-d'œuvre). Et soyons honnêtes: la plupart des versions depuis Joda-Time en 2008 ont plutôt le caractère de versions de correction de bugs (à l'exception de 2.0).

D'un autre côté: la vitesse d'innovation du JSR-310 ne sera probablement pas très élevée non plus (car elle est déjà grande, et parce qu'Oracle est ici l'acteur décisif et qu'une bibliothèque date-heure n'est en général pas considérée comme la centrale pierre angulaire de toute version Java). Il reste donc toujours de la place pour une bibliothèque externe à l'avenir pour fournir des fonctionnalités manquantes, par exemple (par ordre alphabétique):

  • Threeten-Extra (comme le favori de Basil Bourque, voir son commentaire)
  • Time4J (ma propre extension, problème d'interopérabilité résolu à l'été 2015)
50
Meno Hochschild