時間的對比以及時差的計算

**

計算時差

**

public static String getTimeExpend(String startTime, String endTime) {
        //傳入字串類型 2016/06/28 08:30
        long longStart = getTimeMillis(startTime); //獲取開始時間毫秒數
        long longEnd = getTimeMillis(endTime);  //獲取結束時間毫秒數
        long longExpend = longEnd - longStart;  //獲取時間差

        long longHours = longExpend / (60 * 60 * 1000); //根據時間差來計算小時數
        long longMinutes = (longExpend - longHours * (60 * 60 * 1000)) / (60 * 1000);   //根據時間差來計算分鐘數

        return longHours + ":" + longMinutes;
    }

**

兩個時間相差多少天多少小時多少分多少秒

**

public static String getDistanceTime(String lastTime, String endTime) {
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        Date one;
        Date two;
        long day = 0;
        long hour = 0;
        long min = 0;
        long sec = 0;
        long ms = 0;
        try {
            one = df.parse(lastTime);
            two = df.parse(endTime);
            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 + "毫秒";
    }

判斷2個時間的大小

 public static boolean cardDateCompareTo(String lastTime, String endTime) {
        boolean iscardDate = false;

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");//時間格式可變化
        try {
            Date date1 = dateFormat.parse(newTiem);//結束時間
            Date date2 = dateFormat.parse(lastTime);//開始時間
            // 1 結束時間小於開始時間 2 開始時間與結束時間相同 3 結束時間大於開始時間
            if (date2.getTime() < date1.getTime()) {
                //開始時間小於結束時間
                iscardDate = false;
            } else if (date2.getTime() == date1.getTime()) {
                //開始時間與結束時間相同
                iscardDate = false;
            } else if (date2.getTime() > date1.getTime()) {
                //開始時間大於結束時間
                iscardDate = true;
            }
        } catch (Exception e) {
            Log.e("時間對比異常", "異常爲  " + e.toString());
        }
        return iscardDate;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章