Только что возникла проблема, которую я не понимаю в моем коде на Python.Python 3 - Работа с объектами datetime.time - timedelta
timestamps = list(map(lambda ts: ts.time, timestamps))
start_timestamps = timestamps
end_timestamps = timestamps[1:]
d = date(2000, 1, 1)
FMT = '%H:%M:%S'
for i, t1 in enumerate(start_timestamps):
t1 = datetime.combine(d, start_timestamps[i])
t2 = datetime.combine(d, end_timestamps[i])
dt = t1 - t2
#dt = datetime.strptime(t1,FMT) - datetime.strptime(t2,FMT)
Используя это в моем Джанго проекте я получаю следующее сообщение об ошибке:
t2 = datetime.combine(d, end_timestamps[i])
TypeError: combine() argument 2 must be datetime.time, not bytes
Когда раскомментировать последнюю строку унд комментирует три линии над ним, я получаю следующее:
dt = datetime.strptime(t1,FMT) - datetime.strptime(t2,FMT)
TypeError: must be str, not datetime.time
Так что г не понимают этого. Это datetime.time
, но в то же время это не ... Может ли кто-нибудь мне помочь?
Спасибо!
Спасибо, я просто этого не видел. У меня есть еще одна строка, которая добавляет время к списку в end_timestamps, и оно передается функцией, возвращающей объект времени. Но я не могу его преобразовать в объект datetime.time. Вы можете мне помочь? – Johannes
Нет, не совсем. Если вы разместили новый вопрос с [mcve], иллюстрирующий проблему, я мог бы, возможно, так как тогда у меня было бы достаточно информации, чтобы помочь. :-) –