Вычесть два значения - PullRequest
       1

Вычесть два значения

0 голосов
/ 02 сентября 2010

Я хотел бы вычесть два значения, одно в текущей записи, затем следующее в следующей записи ... это записи часов, и я хочу рассчитать, сколько времени сотрудник потратит на свой перерыв, поэтому мне нужно будет вычесть время, в течение которого сотрудник завершил работу, и время, в течение которого сотрудник снова включился. Это будет сделано для нескольких записей, а затем в конце всего этого я также хочу получить общее количество всех сделанных перерывов.,

Так как я могу это сделать?Я делаю это в 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 голосов
/ 02 сентября 2010

Вам придется перебирать действия часов и выполнять вычисления вручную. Что-то в этом роде:

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, в зависимости от того, какое поле вы выбрали для времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...