Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中将datetime文本转换为datetime对象?_Python_Python 3.x_Datetime_Iso8601_Strptime - Fatal编程技术网

如何在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()
工作原理的文档?