web-dev-qa-db-fra.com

Existe-t-il une classe dans Java.time comparable à l'intervalle Joda-Time?

J'évalue la migration de mon projet de l'utilisation de Joda-Time vers Java.time package in Java 8 . Dans Joda-Time, j'ai beaucoup utilisé la classe Interval . Je n'ai rien trouvé de tel dans Java.time.

Existe-t-il une classe comparable?

55
dajood

Désolé pour vous, il n'y a pas d'équivalent dans JSR-310 à JodaTime-Interval-class. J'ai des doutes si cela arrivera un jour, mais le chef de projet Stephen Colebourne envisage au moins de le soutenir dans le cadre de sa bibliothèque externe Threeten-Extra, voir ceci issue .

Si vous êtes satisfait de JodaTime, vous devez le conserver. Tout dans JodaTime n'est pas porté sur Java 8 (l'intervalle n'est pas le seul problème).

Mise à jour du 13/12/2014:

La situation dans Java-8 n'a pas changé, mais vous pouvez également envisager d'autres bibliothèques externes au-delà de Joda-Time. Soit Threeten-Extra qui inclut désormais une classe d'intervalle très simple depuis la v0.9 (voir l'autre réponse de S. Colebourne ici) ou ma bibliothèque Time4J qui propose le package de gamme depuis la v2.0.

45
Meno Hochschild

JDK 8 JSR-310 n'a pas de classe Interval. Le concept d'intervalles a été déclassé pour garantir que le reste de la bibliothèque puisse être achevé.

Le projet ThreeTen-Extra héberge des classes de date-heure non JDK supplémentaires, et la version 0.9 inclut Interval .

Remarque: Réponse mise à jour le 10/12/2014 pour inclure la présence de Interval dans ThreeTen-Extra.

27
JodaStephen

Utilisez la classe Range de Guava.

Voir https://stackoverflow.com/a/23485533/1214902 pour plus de détails.

10
dap.tci