Java 8: Difference between two LocalDateTime in multiple units

后端 未结 10 1665
后悔当初
后悔当初 2020-11-22 11:36

I am trying to calculate the difference between two LocalDateTime.

The output needs to be of the format y years m months d days h hours m minutes

10条回答
  •  南笙
    南笙 (楼主)
    2020-11-22 11:54

    It should be simpler!

    Duration.between(startLocalDateTime, endLocalDateTime).toMillis();
    

    You can convert millis to whatever unit you like:

    String.format("%d minutes %d seconds", 
      TimeUnit.MILLISECONDS.toMinutes(millis),
      TimeUnit.MILLISECONDS.toSeconds(millis) - 
      TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
    

提交回复
热议问题