java中求两个时间差

时间:2022-09-24 03:39:02
if(callLog.getEstablishedtime()!=null && callLog.getTime()!=null){  //establishedtime、time是Date类型
Long connectTime = (callLog.getEstablishedtime().getTime()-callLog.getTime().getTime())/1000;      //获得秒数
if(connectTime>0){
String diffTime = getDiffTime(connectTime);

}

}


public String getDiffTime(Long time){
String diffTime="";
long day=time/(24*3600);
if(day>0){
diffTime+=day+"天";
}
long hour=time%(24*3600)/3600; 
if(hour>0){
diffTime+=hour+"小时";
}
long minute=time%3600/60; 
if(minute>0){
diffTime+=minute+"分";
}
long second=time%60%60; 
if(second>0){
diffTime+=second+"秒";
}
// System.out.println(diffTime);
return diffTime;
}


getTIme()方法是把一个date对象转成毫秒

parse方法是把一个时间格式的字符串转换成毫秒  如:Date.parse(dateVal) ,返回long型

parse 方法返回一个整数值,这个整数表示 dateVal 中所包含的日期与 1970 年 1 月 1 日午夜之间相间隔的毫秒数。