【问题标题】:Calculate time difference between two times using ISO 8601使用 ISO 8601 计算两次之间的时间差
【发布时间】:2021-07-28 19:26:39
【问题描述】:

例如我有两次:

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

我想知道如何获得1 year ago2 hours ago 的所需输出

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

【问题讨论】:

  • “我只是在文档中找不到允许这样做的代码”:什么是“那个”?将字符串解析为日期时间对象?转换为秒?减法?转换回小时/天/年?请edit 您的问题包括您作为minimal reproducible example 的尝试,并就您遇到的问题提出具体 问题。

标签: python time iso8601


【解决方案1】:

有效:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 2018-04-03
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    相关资源
    最近更新 更多