Полагаю, вам, вероятно, не нужен тип datetime, а вместо этого тип timedelta.
Тип datetime предназначен для точной точки даты и времени.
timedelta для периодов времени сразной длины.
Я сделал свое предположение на основе имени 'TotTime' в вашем коде.
Вы можете создать тип timedelta из вашей строки с помощью следующего кода:
def get_days(_str):
return int(_str[1:]) # assume first simbol is 'D' and others is number of days
def get_mss(_str): #assume format is 15.88
s_ms = _str.split('.')
s = int(s_ms[0])
ms = int(s_ms[1]) * 10 # 0.88 is 880 milliseconds, not 88
return s, ms
def get_seconds(_str): # assume format is 12:24:15.88
hms = _str.split(':')
h = int(hms[0])
m = int(hms[1])
s, ms = get_mss(hms[2])
return h, m, s, ms
def str_to_td(_str):
dt1 = _str.split(' ')
days = get_days(dt1[0])
h, m, s, ms = get_seconds(dt1[1])
return datetime.timedelta(days = days, hours = h, minutes = m, seconds = seconds, milliseconds = ms)