如何在Python中将datetime文本转换为datetime对象?
我想将如何在Python中将datetime文本转换为datetime对象?,python,python-3.x,datetime,iso8601,strptime,Python,Python 3.x,Datetime,Iso8601,Strptime,我想将datetime字符串转换为datetime对象,该对象将被进一步处理以不同的格式显示 字符串位于for中,2018-04-24T16:42:17Z 我尝试了以下方法,但它给出了错误 import datetime datetime.datetime.strptime('2018-04-24T16:42:17Z', '%b %d %Y %I:%M%p') Traceback (most recent call last): File "<stdin>", line 1,
datetime
字符串转换为datetime
对象,该对象将被进一步处理以不同的格式显示
字符串位于for中,2018-04-24T16:42:17Z
我尝试了以下方法,但它给出了错误
import datetime
datetime.datetime.strptime('2018-04-24T16:42:17Z', '%b %d %Y %I:%M%p')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Python\lib\_strptime.py", line 510, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "D:\Python\lib\_strptime.py", line 343, in _strptime
(data_string, format))
ValueError: time data '2018-04-24T16:42:17Z' does not match format '%b %d %Y %I:%M%p'
导入日期时间
datetime.datetime.strtime('2018-04-24T16:42:17Z','%b%d%Y%I:%M%p')
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“D:\Python\lib\\\\ strptime.py”,第510行,在\ strptime\u datetime中
tt,分数=_strtime(数据字符串,格式)
文件“D:\Python\lib\\ u strtime.py”,第343行,在\ u strtime中
(数据字符串,格式))
ValueError:时间数据“2018-04-24T16:42:17Z”与格式“%b%d%Y%I:%M%p”不匹配
请提供帮助。日期时间的字符串表示形式不匹配 试试看:
import datetime
print(datetime.datetime.strptime('2018-04-24T16:42:17Z', '%Y-%m-%dT%H:%M:%SZ'))
2018-04-24 16:42:17
输出:
import datetime
print(datetime.datetime.strptime('2018-04-24T16:42:17Z', '%Y-%m-%dT%H:%M:%SZ'))
2018-04-24 16:42:17
为什么它会被否决?您尝试使用的格式字符串甚至与您尝试解析的格式相差很远。看看为什么您认为
%b
(“月作为语言环境的缩写名”)会匹配2018
,空格会匹配连字符等等?虽然领先,但您应该给出您试图处理的字符串的格式,该格式显然以年开始。错误非常简单。您传入的格式(第二个参数)不适用于正在分析的字符串(第一个参数)。为什么您希望该格式字符串能够工作?请分享你的研究成果。您是否阅读了有关datetime.strtime()
工作原理的文档?