减去两个值

时间:2010-09-02 13:42:33

标签: django

我想减去两个值,一个在当前记录中,然后是下一个记录中的下一个...它们是时钟条目,我想计算一个员工在他/她休息时花费的时间因此,我将不得不减去员工的时间,以及员工重新计时的时间。这将在几个记录中完成,然后在结束时我还希望总共有所有休息时间。 。

那我该怎么做呢?我在Django BTW中这样做。

更新 记录看起来有点像这样:

employee_id, rec_date, start_time, end_time
18, 2010-08-23, 09:58:00, 14:13:00
18, 2010-08-23, 14:39:00, 18:47:00
19, 2010-08-23, 14:15:00, 18:31:00
21, 2010-08-23, 12:05:00, 14:52:00
21, 2010-08-23, 15:23:00, 18:49:00
21, 2010-08-31, 08:00:00, 12:00:00
21, 2010-08-31, 12:45:00, 19:00:00

1 个答案:

答案 0 :(得分:0)

您必须迭代时钟操作并手动执行计算。这种东西:

breaks = 0
break_start = None
clock_actions = user.clock_actions.filter(date=desired_day).order_by('date')
for action in clock_actions:
    if action.type == 'CLOCK IN':
        break_start = action.time
    elif break_start is not None:
        breaks = breaks + action.time - break_start
        break_start = None

您可能需要调整减法以使用timedelta对象,具体取决于您选择的时间字段。