今天在做項目的時候遇到了這樣一個問題:就是要得到在線時長:
截圖如下:最后要達到如下效果:
我之前想了一種方案:我想通過SQL語句查庫,但是最后發現這種辦法還解決不了,最后我又想了一種:
就是通過一個計算時間差的方法直接在那個在線時長的get()方法中給它賦值,這樣就可以很簡單的得到這個值了。
廢話不多說了,直接上代碼:
1.這是你計算時間差的類:
public class DateFormat {
/**
* 計算兩個時間的時間差
* @param from
* @param to
* @return
*/
public static String timeBetweens(Date from, Date to) {
final long ONEDAY = 86400000L; // 1天=86400000毫秒
final long ONEHOUR = 3600000L; // 1小時=3600000毫秒
final long ONEMIN = 60000L; // 1分鐘=60000毫秒
long days = 0, hours = 0, mins = 0, secs = 0;
if (to.after(from)) {
secs = to.getTime() - from.getTime();
days = secs / ONEDAY;
secs = secs % ONEDAY;
hours = secs / ONEHOUR;
secs = secs % ONEHOUR;
mins = secs / ONEMIN;
}
String rtnStr = days + "天" + hours + "小時" + mins + "分鐘";
return rtnStr;
}
public static void main(String[] args) {
Date date = new Date();
Date date1 = new Date();
String string = timeBetweens(date, date1);
System.out.println(string);
}
}
2. 這是你的實體類:
private Stringwmistiming;
public String getWmistiming() {
return DateFormat.timeBetweens(wlogdate, wupdate);
}
public void setWmistiming(String wmistiming) {
this.wmistiming = wmistiming;
}