java代码计算时间差,精确到 天、月、日、时、分、秒、毫秒

/**
     * 两个时间相差距离多少天多少小时多少分多少秒
     * @param strTime1 时间参数 1 格式:2016-06-22 18:21:20
     * @param strTime2 时间参数 2 格式:2016-06-22 17:21:20
     * @param timeFormat 日期格式 yyyy-MM-dd HH:mm:ss    毫秒(yyyy-MM-dd HH:mm:ss.SSS)
     * @return String 返回值为:xx天xx小时xx分xx秒xx毫秒
     */
    public static String getDifferenceTime(String strTime1, String strTime2, String timeFormat) {
        DateFormat df = new SimpleDateFormat(timeFormat);
        Date time1;
        Date time2;
        long day = 0;
        long hour = 0;
        long min = 0;
        long sec = 0;
        long ms = 0;
        try {
            one = df.parse(strTime1);
            two = df.parse(strTime2);
            long time1 = one.getTime();
            long time2 = two.getTime();
            long diff ;
            if(time1 < time2) {
                diff = time2 - time1;
            } else {
                diff = time1 - time2;
            }
            day = diff / (24 * 60 * 60 * 1000);
            hour = (diff / (60 * 60 * 1000) - day * 24);
            min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);
            sec = (diff/1000-day*24*60*60-hour*60*60-min*60);
            ms = (diff - day * 24 * 60 * 60 * 1000 - hour * 60 * 60 * 1000 - min * 60 * 1000 - sec * 1000);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return day + "天" + hour + "小时" + min + "分" + sec + "秒";
        //return day + "天" + hour + "小时" + min + "分" + sec + "秒" + ms + "毫秒";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_22019789

谢谢你的支持,我会再接再厉哒

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值