//问的问题应该清楚一点,我是看了半天才理解 。。
public Double getWorkPercent(Date in,Date out){
//错误
if(in.after(out)){
return 0D;
}
//考虑周末
SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
if("星期日".equals(dateFm.format(in)) || "星期六".equals(dateFm.format(in))){
return 0D;
}
Date restStart = in ;
Date restEnd = in ;
restStart.setHours(12);
restEnd.setHours(13);
//上午时间
Long morningTimes = restStart.getTime()-in.getTime();
//下午时间
Long afterTimes = out.getTime() - restEnd.getTime();
//上班时间 如果在休息时间之后,或者休息时间中间上班,下班。则上班总时间为0;
Long totalTimes = (morningTimes<0?0:morningTimes)+(afterTimes<0?0:afterTimes);
return totalTimes/1000.0/60/60 / 8;
}
没有描述清楚啊