使用 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
我有一个名为 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