Java算法:N个时间段计算其中的有效时间 10C

例如:
13:00 - 14:00
13:30 - 14:30
16:30 - 17:30
17:00 - 18:00
有效时间:3个小时!
最好有源码!

4个回答

这个不难的,你用simpleDateFormat格式化下日期,再获取毫秒数,再相减获得毫秒,然后你换算成分钟或者小时

应该是 N个时间段。
例子看着简单,如果出现 N 个时间段,没那么简单。。

function Calc(timesArray){
var time=0;
for(var i=0;i<timesArray.length;i++){
var minutes=CalcMinutes(timesArray[i]);
time+=minutes;
}
return time;
}

function CalcMinutes(times) {
var bTimeNum = new Date('1111/01/01 ' + times[0]).getTime();
var enTimeNum = new Date('1111/01/01 ' + times[1]).getTime();
var minutes=(enTimeNum-bTimeNum) /(60*1000)

return minutes;

}
Calc([["13:00","14:00"],["13:00","14:00"],["13:00", "14:00"]])


自己改写一下就好了

//获得毫秒差
public long getTimeMillis(String timeFrom,String timeTo)throws Exception{
long timeMillis=0L;
try {
Date dateFrom=sdf.parse(timeFrom);
Date dateTo=sdf.parse(timeTo);
timeMillis=dateTo.getTime()-dateFrom.getTime();
} catch (Exception e) {
throw new Exception("Format error.");
}
if(timeMillis<0){
throw new Exception("Unreasonable date.");
}
return timeMillis;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问