我有一个名为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)
我尝试删除冒号,但得到了同样的错误。我确定它很简单,我可以忽视,但无法弄清楚它是什么。
任何帮助表示感谢。
答案 0 :(得分:1)
小时组件%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小时小时组件,而不是12小时,这是%I
的用途,请参阅docs