日常开发中,经常会遇到计算两个时间的时间差的问题,有时会要求按指定时间单位衡量差值,如:相隔多少天,多少小时。有时则按指定格式显示时间差,如:时间差为D天H小时M分钟S秒。
单纯的时间差之前的文章已讲过,这里便不赘述,本篇只讲如何实现格式化后的时间差。
二、基于 Date首先给出基于 Date 计算指定格式时间差的代码:

执行结果如下所示:

基于 LocalDateTime 实现的代码如下所示:

执行结果如下所示:

Java9起在 Duration 中新增了四个方法:toDaysPart()、toHoursPart()、toMinutesPart()、toSecondsPart(),也就是说能直接获取对应的时间单位计量部分。因此Java9之后可改写为如下代码:

执行结果如下所示:
