两个时间段比如 2018-10-08 17:30:00 到 2018-10-10 08:30:00
其中每天早上9点到下午六点是上班时间
我该怎么排除每天的上班时间。
举例:
2018-10-08 17:30:00 到 2018-10-08 18:30:00 加班时长 0.5 小时
2018-10-08 17:00:00 到 2018-10-08 19:00:00 加班时长 1 小时
2018-10-08 17:00:00 到 2018-10-09 10:00:00 加班时长 15 小时
2018-10-08 17:00:00 到 2018-10-09 19:00:00 加班时长 16 小时
以此类推
public static String getDatePoor(Date endDate, Date nowDate) {
long nd = 1000 * 24 * 60 * 60;
long nh = 1000 * 60 * 60;
long nm = 1000 * 60;
// long ns = 1000;
// 获得两个时间的毫秒时间差异
long diff = endDate.getTime() - nowDate.getTime();
// 计算差多少天
long day = diff / nd;
// 计算差多少小时
long hour = diff % nd / nh;
return hour + "小时" ;
}
你加班应该有打卡时间吧,根据打卡时间减去每天固定下班时间就是加班时候,当然打卡分上午和下午,这个你要去下午得。相减>0就是加班了,不过时间你的处理下。