**
計算時差
**
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;
}