首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi算法,流转时间内的有效工作时间,小时数

2012-03-31 
求一个delphi算法,流转时间内的有效工作时间,小时数定义变量:早晨上班时间比如8:30,中午休息时间比如11:30

求一个delphi算法,流转时间内的有效工作时间,小时数
定义变量:早晨上班时间比如8:30,中午休息时间比如11:30,下午上班时间比如13:30,晚上下班时间比如5:00

实现的算法,出入一个时间段,比如2011-10-19 8:00:00至2011-10-19 13:00:00,计算出这个时间段内的有效工作时间,就是有几个小时是在工作时间内的,然后返回这个小时数。

上面我说的这个时间段的返回小时数应该是 3 小时,虽然时间段是从8点开始,但是上班时间是8:30,所以以8:30为开始时间,时间段是13点结束,但是11:30就已经休息了,所以,结束时间应该以11:30为准,所以,是3小时。

再举一个例子:时间段2011-10-19 9:30:00至2011-10-19 14:30:00
9:30开始,这个是在工作时间,所以以9:30为准,但是到了11:30该休息了,不是工作时间了,所以,到11:30是一个段落,上午是2小时在工作时间,下午相同,13:30开始上班,到时间段结束14:30,1小时工作时间,所以时间段内有效的工作时间是3小时。

还有需要过滤掉周末2天,献上我的所有的分数,不多,非常感谢!

[解决办法]
uses DateUtils;
用MinutesBetween方法求出每两个时间的间隔分钟,分两段求就是了
[解决办法]
首先应判断是不是同一天,用函数daysBetween,若不是同一天,得算出有几天。

热点排行