【发布时间】:2024-04-30 02:05:02
【问题描述】:
我想将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'
请帮忙。
【问题讨论】:
-
为什么会被否决?
-
您尝试使用的格式字符串与您尝试解析的格式相差甚远。看the docs。为什么你认为
%b(“月份作为语言环境的缩写名称”)会匹配2018,空格会匹配连字符等等? -
但是你应该给出你试图处理的字符串的格式,这显然是从一年开始的。
-
错误非常简单。您传入的格式(第二个参数)不适用于您正在解析的字符串(第一个参数)。您为什么希望该格式字符串起作用?请分享你的研究。您是否阅读过有关
datetime.strptime()工作原理的文档?
标签: python python-3.x datetime iso8601 strptime