新手求问两个自动设置的时间怎么求差
各位高手,我是一名才入门java的学生 最近老师叫我们编程 通话记录的作业 其中有个要求就是计算通话时间 我的想法就是自动获取通话开始的时间和结束时间 然后结束时间减去开始时间 但是现在就是这个时间差我不会计算 求大神们指导 以下是我设置开始时间和结束时间的代码。public String SetS_hour()
{
int h, min, sec;
Calendar d = Calendar.getInstance();
h= d.get(Calendar.HOUR);
min = d.get(Calendar.MINUTE);
sec = d.get(Calendar.SECOND);
s_hour=""+h+":"+min+":"+sec;
return s_hour;
}
public String SetE_hour()
{
int h, min, sec;
Calendar e = Calendar.getInstance();
h= e.get(Calendar.HOUR);
min = e.get(Calendar.MINUTE);
sec = e.get(Calendar.SECOND);
e_hour=""+h+":"+min+":"+sec;
return e_hour;
} 时间差 --------------------编程问答-------------------- 为什么用Calendar,直接用Date多好。。
你这获取的不完整,只有小时,没有日期,没法转换成Date型。
给你程序改了一下,你看看
--------------------编程问答-------------------- 好的 谢谢 你帮了我一个大忙
public class Test {
public static void main(String[] args) {
Test t=new Test();
String setE_hour = t.SetE_hour();
String setS_hour = t.SetS_hour();
SimpleDateFormat sim=new SimpleDateFormat("yyyy:mm:dd hh:MM:ss");
try {
Date sd = sim.parse(setE_hour);
Date ed = sim.parse(setS_hour);
System.out.println((sd.getTime()-ed.getTime())/1000);//这就是获得的秒数
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String SetS_hour() {
int y,m,day;
int h, min, sec;
Calendar d = Calendar.getInstance();
y=d.get(Calendar.YEAR);
m=d.get(Calendar.MONTH);
day=d.get(Calendar.DATE);
h = d.get(Calendar.HOUR);
min = d.get(Calendar.MINUTE);
sec = d.get(Calendar.SECOND);
String s_hour = y+":"+m+":"+day+" " + h + ":" + min + ":" + sec;
return s_hour;
}
public String SetE_hour() {
int y,m,day;
int h, min, sec;
Calendar e = Calendar.getInstance();
y=e.get(Calendar.YEAR);
m=e.get(Calendar.MONTH);
day=e.get(Calendar.DATE);
h = e.get(Calendar.HOUR);
min = e.get(Calendar.MINUTE);
sec = e.get(Calendar.SECOND);
String e_hour = y+":"+m+":"+day+" " + h + ":" + min + ":" + sec;
return e_hour;
}
}
补充:Java , Java SE