web-dev-qa-db-fra.com

Soustraire deux dates en Java

Dupliquer possible:
Calcul de la différence entre deux instances de date Java

Je sais que cela pourrait être un fil en double. Mais j'essaie de trouver un moyen de calculer la différence entre deux dates. A partir de jquery, la chaîne de date est au format 'yyyy-mm-dd'. Je lis ceci comme une chaîne et converti en date de Java comme ceci

Date d1 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.getParameter(date1));
Date d2 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.getParameter(date2));

Je veux calculer la différence de nombre de jours entre ces deux dates.

Remarque: Je ne peux pas utiliser les API tierces car celles-ci doivent être vérifiées.

20
user525146

Edit 2018-05-28 J'ai modifié l'exemple pour utiliser l'API Time de Java 8:

LocalDate d1 = LocalDate.parse("2018-05-26", DateTimeFormatter.ISO_LOCAL_DATE);
LocalDate d2 = LocalDate.parse("2018-05-28", DateTimeFormatter.ISO_LOCAL_DATE);
Duration diff = Duration.between(d1.atStartOfDay(), d2.atStartOfDay());
long diffDays = diff.toDays();
22
uldall
Date d1 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.
            getParameter(date1));
Date d2 = new SimpleDateFormat("yyyy-M-dd").parse((String) request.
            getParameter(date2));

long diff = d2.getTime() - d1.getTime();

System.out.println("Difference between  " + d1 + " and "+ d2+" is "
        + (diff / (1000 * 60 * 60 * 24)) + " days.");
0
16dots