使用 ISO 8601 计算两次之间的时间差

Calculate time difference between two times using ISO 8601

例如我有两次:

2020-04-06T15:00:07Z 2021-07-28T19:18:02+0000

我想知道如何获得 1 year ago2 hours ago

的所需输出

我尝试将时间转换为秒,然后减去该时间并将时间转换为所需的输出,但我在文档中找不到允许这样做的代码。

有效:

from dateutil.parser import parse
from dateutil.relativedelta import relativedelta

datetime_1 = parse('2020-04-06T15:00:07Z')
datetime_2 = parse('2021-07-28T19:18:02+00:00')

delta = relativedelta(datetime_2, datetime_1)

print(f"{delta.years} year {delta.months} months {delta.days} days {delta.hours} hours {delta.hours} minutes ago")

# 1 year 3 months 22 days 4 hours 4 minutes ago