Как рассчитать временной интервал между двумя строками времени - PullRequest
137 голосов
/ 23 июня 2010

У меня есть два раза, время начала и окончания, в формате 10:33:26 (ЧЧ: ММ: СС). Мне нужна разница между двумя разами. Я просматривал документацию по Python и искал в Интернете, и я подумал бы, что это как-то связано с модулями datetime и / или time. Я не могу заставить его работать должным образом, и продолжаю искать только то, как это сделать, когда назначена дата.

В конечном счете, мне нужно вычислить средние значения за несколько периодов времени. У меня есть разница во времени, и я храню их в списке. Теперь мне нужно рассчитать среднее. Я использую регулярные выражения, чтобы разобрать оригинальное время и затем делаю различия.

Для усреднения я должен преобразовать в секунды, а затем усреднить?

Ответы [ 11 ]

0 голосов
/ 22 июля 2018

Кратко, если вы просто заинтересованы в прошедшем времени, которое составляет менее 24 часов.При необходимости вы можете отформатировать вывод в операторе возврата:

import datetime
def elapsed_interval(start,end):
    elapsed = end - start
    min,secs=divmod(elapsed.days * 86400 + elapsed.seconds, 60)
    hour, minutes = divmod(min, 60)
    return '%.2d:%.2d:%.2d' % (hour,minutes,secs)

if __name__ == '__main__':
    time_start=datetime.datetime.now()
    """ do your process """
    time_end=datetime.datetime.now()
    total_time=elapsed_interval(time_start,time_end)
...