【代码】计算两个LocalDateTime的时间差,并转为指定格式(天小时分秒)

    /**
     * 获取开始时间和结束时间相差的毫秒数
     * @param startTime
     * @param endTime
     * @return
     */
    private Long getDuration(String startTime, String endTime) {
        long days = 0;
        if (StringUtils.isEmpty(startTime) || StringUtils.isEmpty(endTime)) {
            return days;
        }
        LocalDateTime startTimeLdt = LocalDateTime.parse(startTime, DATE_TIME_FORMATTER),
                endTimeLdt = LocalDateTime.parse(endTime, DATE_TIME_FORMATTER);
        Duration duration = Duration.between(startTimeLdt, endTimeLdt);
        // 毫秒数
        return duration.toMillis();
    }

    /**
     * @param totalTime 总时间(单位: 毫秒)
     * @return
     */
    private String convert(Long totalTime) {
        if (totalTime == null) {
            return "";
        }
        long days = TimeUnit.MILLISECONDS.toDays(totalTime);
        long hours = TimeUnit.MILLISECONDS.toHours(totalTime) - TimeUnit.DAYS.toHours(days);
        long minutes = TimeUnit.MILLISECONDS.toMinutes(totalTime) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(totalTime));
        long seconds = TimeUnit.MILLISECONDS.toSeconds(totalTime) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(totalTime));
        return days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值