Is there an easy way to convert ISO 8601 duration

2020-08-09 08:26发布

问题:

Given a ISO 8601 duration string, how do I convert it into a datetime.timedelta?

This didn't work:

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

A timedelta object represents a duration, the difference between two dates or times (https://docs.python.org/3/library/datetime.html#datetime.timedelta). ISO 8601 durations are described here: https://en.wikipedia.org/wiki/ISO_8601#Durations

回答1:

I found isodate library to do exactly what I want

isodate.parse_duration('PT1H5M26S')