Un article pas bien avancé techniquement, juste une astuce/une utilisation de l’API du JDK…
En parcourant le code de java.util.concurrent.ScheduledThreadPoolExecutor je suis tombé sur une utilisation de java.util.concurrent.TimeUnit que je ne connaissais pas et qui est fort utile pour faire des conversions de durée : la méthode #convert(long, TimeUnit).
Plus besoin de s’embêter, ni même de réfléchir, convertir n’importe quelle unité de temps vers n’importe quelle unité de temps est simple :
long days = TimeUnit.DAYS.convert(22545455566L, TimeUnit.MILLISECONDS);
ie 22545455566 ms sont équivalentes à 260 jours.