fork download
  1. import java.time.Duration;
  2. import java.time.LocalDateTime;
  3. import java.time.Month;
  4. import java.time.temporal.ChronoUnit;
  5.  
  6. class TesteDurationNovo {
  7. public static void main(String[] args) {
  8.  
  9. LocalDateTime primeiraData = LocalDateTime.of(2017, Month.JANUARY, 10, 14, 00, 00);
  10. LocalDateTime segundaDate = LocalDateTime.of(2016, Month.JANUARY, 10, 16, 30, 00);
  11.  
  12. Duration testeDuration = Duration.between(primeiraData, segundaDate);
  13. long dias = testeDuration.toDays();
  14. Duration d2 = testeDuration.minus(dias, ChronoUnit.DAYS);
  15. long horas = d2.toHours();
  16. Duration d3 = d2.minus(horas, ChronoUnit.HOURS);
  17. long minutos = d3.toMinutes();
  18. Duration d4 = d3.minus(minutos, ChronoUnit.MINUTES);
  19. long segundos = d4.getSeconds();
  20. Duration d5 = d4.minus(segundos, ChronoUnit.SECONDS);
  21. long nanos = d5.toNanos();
  22. Duration d6 = d5.minus(nanos, ChronoUnit.NANOS);
  23.  
  24. System.out.println("Total: " + dias + " dias, " + horas + " horas, " + minutos + " minutos, " + segundos + " segundos, " + nanos + " ns.");
  25. System.out.println("Resultado: " + testeDuration.toString());
  26. if (!d6.isZero()) throw new AssertionError(d6.toString());
  27. }
  28. }
Success #stdin #stdout 0.04s 711168KB
stdin
Standard input is empty
stdout
Total: -365 dias, -21 horas, -30 minutos, 0 segundos, 0 ns.
Resultado: PT-8781H-30M