Comment calculer la différence de temps entre deux dates à l'aide de LocalDateTime dans Java 8?

Il y a de nombreuses réponses, mais je suis incapable de trouver compatible avec ma situation. J'ai besoin de trouver la différence de 8 heures dans le temps ainsi que sur le changement de date trop. Comme si le temps est de plus de 8 heures, puis de ne pas exécuter quelque chose .

Nous n'avons aucune méthode permettant d'obtenir les mêmes dans LocalDateTime dans Java 8?

J'ai essayé d'utiliser la suite, mais l'impossibilité d'atteindre le même.

LocalDateTime fromDateTime = LocalDateTime.of(2017, 07, 07, 07, 00, 55);
LocalDateTime toDateTime = LocalDateTime.now();
LocalDateTime tempDateTime = LocalDateTime.from(fromDateTime);

long years = tempDateTime.until(toDateTime, ChronoUnit.YEARS);
tempDateTime = tempDateTime.plusYears(years);

long months = tempDateTime.until(toDateTime, ChronoUnit.MONTHS);
tempDateTime = tempDateTime.plusMonths(months);

long days = tempDateTime.until(toDateTime, ChronoUnit.DAYS);
tempDateTime = tempDateTime.plusDays(days);

long hours = tempDateTime.until(toDateTime, ChronoUnit.HOURS);
tempDateTime = tempDateTime.plusHours(hours);

long minutes = tempDateTime.until(toDateTime, ChronoUnit.MINUTES);
tempDateTime = tempDateTime.plusMinutes(minutes);

long seconds = tempDateTime.until(toDateTime, ChronoUnit.SECONDS);

System.out.println("" + java.time.Duration.between(tempDateTime, toDateTime).toHours());

System.out.println(years + " years "
        + months + " months "
        + days + " days "
        + hours + " hours "
        + minutes + " minutes "
        + seconds + " seconds.");

Il est difficile de vérifier l'heure et la date séparément.

Au départ, j'ai codé il l'aime mais il ne semble correct:

return openBrat!=null 
        && openBrat.until(LocalDateTime.now(), ChronoUnit.DAYS) == 0 &&  
          openBrat.until(LocalDateTime.now(), ChronoUnit.HOURS) >= 8
         && openBrat.until(LocalDateTime.now(), ChronoUnit.Minutes) >= 0;

Quelqu'un pourrait s'il vous plaît suggérer comment soustraire comme:

2017 07 06 23:30:00 - 2017 07 07 01:30:00 - Should return 2 hours.
Vous pouvez également utiliser ChronoUnit.HOURS.between(date1, date2)
Savez-vous que LocalDateTime délibérément n'a pas de notion de fuseau horaire? Donc, en utilisant cette classe signifie que vous serez en ignorant toutes les anomalies telles que l'Heure d'été (DST). Si vous voulez en compte de ces réalités, l'utilisation ZonedDateTime.
Double Possible de Java 8: Calculer la différence entre deux LocalDateTime

OriginalL'auteur Harpreet | 2017-07-07