今天在做项目的时候遇到了这样一个问题:就是要得到在线时长: 截图如下:最后要达到如下效果: 我之前想了一种方案:我想通过sql语句查库,但是最后发现这种办法还解决不了,最后我又想了一种: 就是通过一个计算时间差的方法直接在那个在线时长的get()方法
今天在做项目的时候遇到了这样一个问题:就是要得到在线时长:
截图如下:最后要达到如下效果:
我之前想了一种方案:我想通过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 string wmistiming;
public string getwmistiming() {
return dateformat.timebetweens(wlogdate, wupdate);
}
public void setwmistiming(string wmistiming) {
this.wmistiming = wmistiming;
}