Django Python как рассчитать разницу во времени с учетом двух временных строк - PullRequest
0 голосов
/ 24 февраля 2019

В Django Python у меня есть 2 временные строки для ЧЧ: мм, как я могу получить продолжительность (разницу)?

Например:

15:30 and 11:00 ---> difference is 04:30
19:28 and 12:25 ---> difference is 07:03

1 Ответ

0 голосов
/ 24 февраля 2019

Сначала мы можем проанализировать строки в datetime объекте с помощью:

from datetime import datetime, time

t1 = datetime.strptime(time_str1, '%H:%M')
t2 = datetime.strptime(time_str2, '%H:%M')

, затем мы можем получить абсолютную разницу между datetime объектами:

dt = abs(t2 - t1)

мыТеперь можно рассчитать количество часов и минут, например:

t = time(dt.seconds // 3600, (dt.seconds // 60) % 60)

, а затем мы можем напечатать это число с помощью strftime:

t.strftime('%H:%M')

или как функцию:

from datetime import datetime, time

def time_diff(time_str1, time_str2):
    t1 = datetime.strptime(time_str1, '%H:%M')
    t2 = datetime.strptime(time_str2, '%H:%M')
    dt = abs(t2 - t1)
    return time(dt.seconds // 3600, (dt.seconds // 60) % 60).strftime('%H:%M')

например:

>>> time_diff('15:30', '11:00')
'04:30'
>>> time_diff('19:28', '12:25')
'07:03'
...