使用 datetime.strptime 将字符串转换为日期时 Python 中的值错误

Value Error in Python when converting string to date using datetime.strptime

我有一个名为 dte 的字符串变量,它以以下格式打印:

Tue Feb 13 23:49:10 +0000 2018

我正在尝试将其转换为日期类型,以便我可以算出它是在几天前的多少天、小时、分钟等,但不断出现以下错误:

ValueError: time data 'Tue Feb 13 23:49:10 +0000 2018' does not match format '%a %b %d %I:%M:%S %z %Y'

我正在使用此代码:

new_date = datetime.datetime.strptime(dte, "%a %b %d %I:%M:%S %z %Y")
print(new_date)

我试过删除冒号,但出现了同样的错误。我确定这是我忽略的非常简单的事情,但无法弄清楚它是什么。

感谢任何帮助。

小时部分需要 %H 而不是 %I:

In[8]:
dte="Tue Feb 13 23:49:10 +0000 2018"
new_date = dt.datetime.strptime(dte, "%a %b %d %H:%M:%S %z %Y")
new_date

Out[8]: datetime.datetime(2018, 2, 13, 23, 49, 10, tzinfo=datetime.timezone.utc)

您有 24 小时制,而不是 %I 的 12 小时制,请参阅 docs