日期:2014-05-19  浏览次数:20778 次

求助:关于有效时间的计算
问题是这样的:   一天的时间是00:00-23:59.   其中有效工作时间段是

A:   08:00   -   11:30
B:   12:30   -   17:30
C:   18:00   -   20:00

假设某人从X点工作到Y点,

求一个算法或思路能计算出这个人工作一天的有效时间是多少。

------解决方案--------------------
用伪代码写了
start=max(8:00,实际开始时间);
end=min(20:00,实际结束时间);
total=end-start;
if(11:30 <end <12:30) total=11:30-start;
if(12:30 <end <17:30) total-=1;
if(17:30 <end <18:00) total=17:30-start;
if(18:00 <end) total-=2;