Python's datetime.time
объекты используют "военное" время.Вы можете сделать что-то вроде этого:
>>> t = datetime.time(hour=15, minute=12)
>>> u = datetime.time(hour=16, minute=44)
>>> t = datetime.datetime.combine(datetime.datetime.today(), t)
>>> t
datetime.datetime(2011, 5, 11, 15, 12)
>>> u = datetime.datetime.combine(datetime.datetime.today(), u)
>>> t - u
datetime.timedelta(-1, 80880)
С небольшим поворотом конверсии, подобные описанным вами, должны быть довольно простыми.
Не видя никакого кода, трудно сказать, что именно вы хотите.Но я предполагаю, что вы могли бы сделать что-то вроде этого:
raw_time = '2244'
converted_time = datetime.time(hour=int(raw_time[0:2]), minute=int(raw_time[2:4]))
converted_time = datetime.datetime.combine(datetime.datetime.today(), converted_time)
Теперь вы можете работать с converted_time
, добавляя и вычитая timedelta
объекты.Кстати, вы можете создать timedelta
примерно так:
td = datetime.timedelta(hours=4)
Полный список возможных аргументов ключевого слова для конструктора timedelta
: здесь .