Надеюсь, у вас все хорошо.
Я работал над этой конкретной проблемой поиска разницы во времени между двумя временами (которые во всех разных форматах). Я частично решил это для некоторых случаев, однако на данный момент не могу понять, как создать решение для всех случаев.
Мой пошаговый процесс включает:
Преобразование все данные (изначально в формате String) в формате datetime
Поиск случаев, когда время было по-разному выражено в формате String для правильного преобразования в формат datetime без потери точности PM, по-прежнему PM, а не преобразуется в AM, если это '4', а не 4PM или 16:00
Затем ... вычисление разницы между 2 раза (один раз в формате datetime)
Некоторые особенности включают определение разницы во времени для следующих времен (изначально сохраненных как строки и в этом примере):
- 16-19
- 19.30-20.00
- 17: 00-18: 00
- 4-5
- 17-17.10
- 16–18 (да, пробел между цифрами и дефисом сделан намеренно, хотя некоторые строковые манипуляции должны r решить это довольно просто)
- 12 - 14
Мне удалось преобразовать 16-19 в: 16:00:00 и 19:00:00, однако для Пример 19.30-20.00, я получаю следующую ошибку: ValueError("unconverted data remains: %s" % ValueError: unconverted data remains: .30
.
Я предполагаю, что это связано с моей реализацией кода:
theDate1, theDate2 = datetime.strptime(temp[0: temp.find('-')], "%H"), datetime.strptime(temp[temp.find('-') + 1: len(temp)], "%H")
.. . где 19.30-20.00 включает часть% M, а не только% H, поэтому код не говорит, что делать с частью: 30. Я собирался попробовать условную часть, в которой, если строка имеет 16-19, запустите какой-нибудь код, а если строка имеет 19.30-20.00, запустите другой код (и то же самое для других примеров).
Извините, если Мое объяснение звучит повсюду ... Я нахожусь в свободном пространстве, собирая решение вместе и пробуя все разные комбинации.
Спасибо за любые советы по этому поводу!
Есть добрый день.