数据库中至少要有2个字段,开始时间和结束时间,然后要显示花费时间的话,用结束时间减去开始时间,判断是否跨越了休息时间,跨越了就再减去休息时间.

解决方案 »

  1.   

    任务开始的时候插入一条记录,写入开始时间
    任务结束的时候更新这条记录,写入结束时间
    显示的表格里计算结束时间-开始时间-休息时间
      

  2.   

    休息时间是有休息时间段的吧?
    比如11:30到13:30之间是休息时间先判断开始时间和结束时间是否都落在休息时间内,如果是,任务时间=0
    再判断开始时间是否落在休息时间内,如果是,用13:30-开始时间=休息时间
    再判断结束时间是否落在休息时间内,如果是,结束时间-11:30=休息时间
    如果都不是,休息时间=2小时
      

  3.   

    有点错误,还要判断开始时间和结束时间是否都落在休息时间段的同一侧或2侧.同一侧,休息时间=0.两侧,休息时间=2小时
      

  4.   

    还有你任务时间是在同一天么,还是要跨天?
    跨天的话,判断就会比较复杂了.
      

  5.   

    跨天的话,先计算结束时间-开始时间=总时间,并计算出总天数
    然后判断开始时间和结束时间是否落在休息时间段中(可能每天会有4个时间段)
    先剪掉两端的休息时间,然后按天数循环,减去中间的休息时间.
      

  6.   

    早晚班时间是设置好的了的。总时间不用计算,已知的。开始时间是当前的时间,要计算的是结束的时间,这样的话是不能先算总时间+休息时间的。
      

  7.   

    总时间的天数不准确 还有晚班是跨天的。
      

  8.   

    每天的总工时是固定的吧, 算16小时好了, 16*60 = 9601000分 / 960 =   1 天 40 分从当前时间向后数40分钟,跳过休息时间即可。