求助:关于有效时间的计算
问题是这样的:   一天的时间是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;