兩個時間的時間差

原文:https://blog.csdn.net/xujiangdong1992/article/details/79006531

String startTime = "2018-01-01 10:30:30";
String endTime = "2018-01-08 11:45:45";
//看自己的時間格式選擇對應的轉換對象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
//轉換成date類型
Date start = sdf.parse(startTime);
Date end = sdf.parse(endTime);
//獲取毫秒數
Long startLong = start.getTime();
Long endLong = end.getTime();
//計算時間差,單位毫秒
Long ms = endLong-startLong;
//時間差轉換爲 \天\時\分\秒  
String time = longTimeToDay(ms);


//轉換函數,可以封裝成公用方法
public static String longTimeToDay(Long ms){
        Integer ss = 1000;  
        Integer mi = ss * 60;  
        Integer hh = mi * 60;  
        Integer dd = hh * 24;  

        Long day = ms / dd;  
        Long hour = (ms - day * dd) / hh;  
        Long minute = (ms - day * dd - hour * hh) / mi;  
        Long second = (ms - day * dd - hour * hh - minute * mi) / ss;  
        Long milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss;  

        StringBuffer sb = new StringBuffer();  
        if(day > 0) {  
            sb.append(day+"天");  
        }  
        if(hour > 0) {  
            sb.append(hour+"小時");  
        }  
        if(minute > 0) {  
            sb.append(minute+"分");  
        }  
        if(second > 0) {  
            sb.append(second+"秒");  
        }  
        if(milliSecond > 0) {  
            sb.append(milliSecond+"毫秒");  
        }  
        return sb.toString();  
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章