Java date日期类型,结束日期减去开始日期求两者时间差,精确到秒

本文介绍了一个实用的Java类,DateUtils,用于精确计算两个日期之间的差值,包括天数、小时数、分钟数和秒数。通过具体示例,展示了如何使用该类的方法来获取时间差,适用于各种需要日期时间操作的场景。
 1 /**
 2  * @Author:
 3  * @Description:
 4  * @Date: 2019/4/10 19:01
 5  * @Modified By:
 6  */
 7 @Slf4j
 8 public class DateUtils {
 9 
10     private static final long nd = 1000 * 24 * 60 * 60;
11     private static final long nh = 1000 * 60 * 60;
12     private static final long nm = 1000 * 60;
13 
14     /**
15      * 计算两个时间段时间差,精确到秒
16      * @param startTime 2019-04-10 17:16:11
17      * @param endTime 2019-04-10 17:28:17
18      * @return
19      */
20     public static String computationTime(Date startTime, Date endTime){
21         try {
22             log.info("开始时间->{}, 结束时间->{}",startTime, endTime);
23             long diff = endTime.getTime() - startTime.getTime();
24             long day = diff / nd;
25             long hour = diff % nd / nh;
26             long min = diff % nd % nh / nm;
27             long sec = diff % nd % nh % nm / 1000;
28             String str = day + "天" + hour + "小时" + min + "分钟" + sec + "秒";
29             return str;
30         }catch (Exception e) {
31             log.info("计算两个时间段时间差出错了, {}",e);
32             return null;
33         }
34     }
35 }

 

转载于:https://www.cnblogs.com/fenglangjuxu/p/10685672.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值