java遇到一个问题,计算时间的问题,实在是想不出开怎么搞了,求解答。

审批流做个时效性的控制。假如提交时间是10点,设置一个8小时(不一定是8小时,可能是30个小时,跨天,单位是小时)的限制,计算出在那个时间点之前必须审批完。首先要排除每天22点到次日早晨8点的时间。 我想要求出来具体的时间点。

循环呗
判断是否工作日
是工作日,就减掉对应的工作时间
非工作日,继续循环
直到时间减为0

当用户在线的情况下,判断(审批提交时间+设置时间+工作日)是否小于 当前时间, 是的情况按照不同剩余时间进行提醒,否的情况进行超时处理

//往后延迟时间
int hours = 20;
//提交时间
Date submitTime = new Date();
//最后审核时间
Date checkTime = DateUtils.addHours(submitTime , hours );
//判断chenckTime是否在22-8点之间,我的理解你应该是想自动往后延至工作时间,这个就要看你的业务策略了

开始时间加上休息的时间如果大于当前时间就是有效的,小于就是无效的。