我做一个考勤系统,在处理请假的时候,要怎样算出这个人请假的天数呢(小时数折算成小数,如8.3天),因为开始时间及结束时间的小时数是不固定的,可能在一天里面的任一小时,
而一天上班的时间为8小时,如某个人请了两个小时假,则应该是请了0.25天的假,
比如一个人从6号的14:30请假到8号的9:30,考勤时间为上午8:00至12:00,下午13:30至17:30,则这个人的实际请假时间应该为1天4小时30分,折算成天数为:1.5625天;要怎样按上面的规则将任意两个时间之间的值折算成天数呢?

解决方案 »

  1.   

    一天一天地算呗。第一天和最后一天特别对待,中间的一律视为8小时呗。用for语句搞掂。俺以为,好的代码应该是逻辑清晰、可读性好,至于行数、效率什么的,只要不影响整体性能就无所谓。
      

  2.   

    先算总的小时数,再合算天数,变量太多麻烦人
    if not 周末 then
       if date(开始)<>date(结束) then
                 月分
                  
                    年分    else
            H=结束时间 - 开始时间
        end if 
    天=H/8
    你自己做以下吧,我有点事情,条件多一点,还试可以的