读书人

怎么计算时间段扣除有关问题

发布时间: 2012-03-07 09:13:51 作者: rapoo

如何计算时间段扣除问题?
有两个日期时间,现在要计算扣除 早上0 ~ 8点,中午1点到3点的 历时时间?
如何算,请大家指点。因为涉及到跨天,跨月等。请高手指点!!!!

高分相送!!!!

[解决办法]
你说的每天都要扣除的意思是每天的0-8点 和 1-3点都要扣除吗?
如果是 那就mySecond = SecondsBetween(时间1,时间2) - DaysBetween * (8 * 60 * 60 - 2 * 60 * 60)

[解决办法]
根据人的计算思路一般这样构造算式比较方便
先认为是全天计算,既按0点标记差的时间段
alltime=(Date(time2)-Date(time1))*(24-8-2)*60*60 (秒)
再调整time1和time2影响的时间
下面是对time1影响的调整,time2的调整就是把alltime=alltime- ...变成 alltime=alltime+ ... 并且把所有time1变成time2
switch (House(time1)){
case 0:
case 1:
...
case 7: break;
case 8:
case 9:
...
case 12:alltime=alltime-( (House(time1)-8)*60+Mis(time1))*60+Sec(time1));break;
case 13:
case 14:alltime=alltime-(13-8)*60*60;break;
case 15:
case 16:
...
case 23:alltime=alltime-(13-8)*60*60-( (House(time1)-15)*60+Mis(time1))*60+Sec(time1));break;
}

读书人网 >C++ Builder

热点推荐