当前位置:编程学习 > JAVA >>

新手求问两个自动设置的时间怎么求差

各位高手,我是一名才入门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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,