2016-05-02 6 views
10

С учетом строки длительности ISO 8601, как ее преобразовать в datetime.timedelta? Это не сработало:Есть ли простой способ конвертировать длительность ISO 8601 в timedelta

timedelta("PT1H5M26S", "T%H%M%S") 
+0

* «строка datetime.timedelta формата» * не имеет смысла, я полагаю, вы имеете в виду объект 'datetime.timedelta' * *. В стандартном lib нет парсинга для deltas, но есть пакеты на PyPI для вас, чтобы выполнить «pip install». Если вы хотите знать, как это сделать самому, я думаю, что это слишком широко для SO; вы должны пойти и посмотреть, где (если где угодно!) вы слишком застряли, чтобы продолжить. – jonrsharpe

+0

да, вы правы. Я хочу преобразовать объект timedelta. Я могу закодировать свой парсер, но, я ищу, если есть простое решение. – Alkindus

+0

Да, есть: используйте сторонний пакет, чтобы сделать это. Вы можете найти их, выполнив поиск. – jonrsharpe

ответ

12

Я нашел isodate библиотеки делать именно то, что я хочу

isodate.parse_duration('PT1H5M26S')