fork(1) download
  1. import java.time.Duration;
  2. import java.time.Instant;
  3. import java.util.concurrent.TimeUnit;
  4.  
  5. public class Main {
  6. public static void main(String args[]) {
  7. String strDateTime = "2016-01-24T16:00:00.000Z";
  8. Instant then = Instant.parse(strDateTime);
  9. Instant now = Instant.now();
  10. Duration duration = Duration.between(then, now);
  11. System.out.println(duration);
  12.  
  13. // ####################################Java-8####################################
  14. String formatted = String.format("%d days %02d hours %02d minutes %02d seconds %02d milliseconds ago",
  15. duration.toDays(), duration.toHours() % 24, duration.toMinutes() % 60, duration.toSeconds() % 60,
  16. TimeUnit.MILLISECONDS.convert(duration.toNanos() % 1000_000_000, TimeUnit.NANOSECONDS));
  17. System.out.println(formatted);
  18. // ##############################################################################
  19.  
  20. // ####################################Java-9####################################
  21. formatted = String.format("%d days %02d hours %02d minutes %02d seconds %02d milliseconds ago",
  22. duration.toDaysPart(), duration.toHoursPart(), duration.toMinutesPart(), duration.toSecondsPart(),
  23. TimeUnit.MILLISECONDS.convert(duration.toNanosPart(), TimeUnit.NANOSECONDS));
  24. System.out.println(formatted);
  25. // ####################################Java-9####################################
  26. }
  27. }
  28.  
Success #stdin #stdout 0.11s 49340KB
stdin
Standard input is empty
stdout
PT50117H13M56.584568S
2088 days 05 hours 13 minutes 56 seconds 584 milliseconds ago
2088 days 05 hours 13 minutes 56 seconds 584 milliseconds ago